RA6807是RA8876M的缩小版,具备RA8876M的所有功能,只将MCU控制接口进行缩减,仅保留SPI-3和I2C接口,其它功能基本相同。

该芯片最大可控制854x600的分辨率,内建64Mbits显存,多个图层,使用起来相当灵活!

接下来开始讲解软件代码,我们使用SPI-3进行演示。参考代码请使用PC端浏览器访问本贴,在标题下方找到下载链接。

代码流程图如下:
在这里插入图片描述

1.GPIO初始化:

我们拿来开发的单片机为STC8H8K64U这颗,是51内核心,初始化方式:

	P0M0 = 0xff; P0M1 = 0x00; 	//挽输出模式
	P4M0 = 0xff; P4M1 = 0x00; 	//挽输出模式
	P6M0 = 0xff; P6M1 = 0x00; 	//挽输出模式
	P7M0 = 0xff; P7M1 = 0x00; 	//挽输出模式

选择P0口连接,SPI使用软件模拟时序:

/* SPI-3 IO口配置*/
sbit SPI_SS   = P0 ^ 4; // Slave Select			(RA6807片选)
sbit SPI_SDIO = P0 ^ 3; // Data Input/Output 	(接RA6807的SDA--I2C_A5)
sbit SPI_SCK  = P0 ^ 7; // Serial Clock
sbit RA6807_RST  = P4 ^ 5; // Reset 		(通过IO口进行硬件复位)

P0.3作为SPI的SDIO口,软件模拟SPI通信代码放在RA6807_MCU_IF.c里面,在接收数据时需要重定义,作为输入,接收完之后恢复到推挽输出模式(我们省去了接上拉电阻,故需要这样设定):
在这里插入图片描述
单片机和RA6807进行通信,使用SPI-3时引脚只要连接CS、SDIO、CLK、 RST,还有GND这几只引脚就够了!

移植RA6807_01_Kernel内的核心代码即可。

2. SPI-3初始化和硬件复位

SPI-3初始化比较简单,拉高引脚电平而已。
RA6807的硬件复位,保证复位引脚维持超过256个时钟周期的低电平信号即可。

本章结束,下文继续说明介绍,敬请持续关注!
更多信息请访问论坛.

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐