有屏幕的地方就有华强买瓜(STM32H743VIT6彩色版)

TFT-LCD一帧是128*160个像素,一个像素是16位的rgb565格式,一共是128*60*2=40960个字节,也就是40KB,实际操作的时候会遇上卡帧的现象,砍掉一半变成128*80的尺寸也是20KB一帧.此次实验的SPI接口可以达到25M的速度,但是刷屏最高每秒15帧.其实开发板是支持并口TFTLCD的(有硬件LTDC和DMA2D等)但是需要配合别的硬件比如说SDRAM来扩充显存以达到较好性能.
但是OLED一帧只有1KB,一共3771帧用一个SPI接口的W25Q128Flash也是足够放下的,但是LCD用的二进制文件显然要大的多,必须用SD卡来保存.所以说彩色的代价是更大的资源消耗.在LCD/OLED使用过程中,涉及大量的CS/DC引脚的操作.调用HAL库操作GPIO的成本相比于直接操作寄存器是大的多的,可以继续优化.
本次使用的开发板是STM32H743VIT6最小系统,可以达到400M主频,寒假便宜的时候入手的,现在卖的比较贵.如果主控芯片换成树莓派PICO或者STM32F411CEU6,有足够放下一帧的内存空间,通过SPI接口读取SD卡或许也可以完成.
但是STM32F103C8T6只有20KB的SRAM,根本不够放下一帧,而且文件系统也有资源消耗,就完成这个LCD实验会比较费劲,有卡顿的问题.
在字库方面LCD和OLED共用一套字库,英文字库在Flash中,中文字库在SD卡,支持Unicode(而不是GB2312/GBK).