AiCube 图形化自动生成程序,驱动 ST7735S,TFT-彩屏, @Ai8051U, 跟帖问TFT, ST7739
在此跟帖问 TFT程序, 几乎给您全搞定AiCube 图形化自动生成程序,驱动 ST7735S,TFT-彩屏
新建 AiCube 工程, @Ai8051U-40MHz :
选择40MHz时钟:
配置SPI:
允许 SPI 有 DMA 支持:
添加 SPI DMA 中断 标志:
导入屏驱代码,添加DMA刷图函数:
完善main函数:
图片取模(注意DMA顺序发送,选高位在前):
添加图片数据,注意DMA要用XDATA,
强制四字节对齐,高位在前顺序发送:
AiCube 图形化自动生成代码,驱动ST7735S-TFT彩屏, @Ai8051U-40MHz烧录代码:
840
参考链接:
ST7735S, SPI, AI8051U, 驱动 TFT-LCD, - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
DMA_LCM/TFT 疑问上报 | 强制4字节对齐 - DMA支持: QSPI, SPI, I2S, I2C, 4组串口, i8080/MC6800-TFT 国芯技术交流网站 - AI32位8051交流社区
请问这个刷一帧需要多长时间有测试过吗?我用的纯软件的要100ms左右才能刷一帧,感觉容易造成其他程序堵塞。 专业理工男 发表于 2025-7-13 18:35
请问这个刷一帧需要多长时间有测试过吗?我用的纯软件的要100ms左右才能刷一帧,感觉容易造成其他程序堵塞 ...
HSSPI_SetClockDivider(1); 时,SPI CLK大概5M,一帧是个53ms,再快屏没反应了。
ercircle 发表于 2025-7-13 19:00
HSSPI_SetClockDivider(1); 时,SPI CLK大概5M,一帧是个53ms,再快屏没反应了。
那很可以了,快了近一半了{:qiang:} AiCube 图形化自动生成代码,驱动ST7735S-TFT彩屏,上面是 Ai8051U !
下面改成:
STC32G12K128 / STC8H8K64U, xdata小 不够存一帧,搞一堆篮球玩玩,
后续可以考虑图片放在片外的串行Flash中:
841
线要短, SPI 才能快,13.5M@3.3V, 20M@5V
SPI-DMA,线越短越细,越好,这样寄生分布电容小,寄生电阻小,传输速度快
15M@3.3V ?
20M@3.3V ?
专业理工男 发表于 2025-7-13 19:08
那很可以了,快了近一半了
果然,换擎天柱,5V, 36.864MHz,
SPI 二分频,18.432Mbps, 能跑到18mS
ercircle 发表于 2025-7-13 20:49
果然,换擎天柱,5V, 36.864MHz,
SPI 二分频,18.432Mbps 能跑到18ms你这个时间测得是屏幕DMA刷新一帧的时间是吗?
我用你提供的程序测了一下,
发现修改屏幕一帧数据的时间在80ms左右(这个应该是程序指令执行的时间),
不知道对不对。
专业理工男 发表于 2025-7-13 23:41
你这个时间测得是屏幕DMA刷新一帧的时间是吗?
我用你提供的程序测了一下,
发现修改屏幕一帧数据的时间在8 ...
找到这个的问题了,
程序里不应该加下图的那句等待,DMA的特长应该是可以独立于CPU进行数据搬运,
多加了那句就相当于在DMA自动发送数据时CPU一直在等待,不能执行其他语句了,
实测正常一个函数执行完只要不到50us。
期待, SPI-Flash, DMA-P2P 直接送, SPI-TFT彩屏