有屏幕的地方就有華強(qiáng)買(mǎi)瓜(STM32H743VIT6彩色版)

TFT-LCD一幀是128*160個(gè)像素,一個(gè)像素是16位的rgb565格式,一共是128*60*2=40960個(gè)字節(jié),也就是40KB,實(shí)際操作的時(shí)候會(huì)遇上卡幀的現(xiàn)象,砍掉一半變成128*80的尺寸也是20KB一幀.此次實(shí)驗(yàn)的SPI接口可以達(dá)到25M的速度,但是刷屏最高每秒15幀.其實(shí)開(kāi)發(fā)板是支持并口TFTLCD的(有硬件LTDC和DMA2D等)但是需要配合別的硬件比如說(shuō)SDRAM來(lái)擴(kuò)充顯存以達(dá)到較好性能.
但是OLED一幀只有1KB,一共3771幀用一個(gè)SPI接口的W25Q128Flash也是足夠放下的,但是LCD用的二進(jìn)制文件顯然要大的多,必須用SD卡來(lái)保存.所以說(shuō)彩色的代價(jià)是更大的資源消耗.在LCD/OLED使用過(guò)程中,涉及大量的CS/DC引腳的操作.調(diào)用HAL庫(kù)操作GPIO的成本相比于直接操作寄存器是大的多的,可以繼續(xù)優(yōu)化.
本次使用的開(kāi)發(fā)板是STM32H743VIT6最小系統(tǒng),可以達(dá)到400M主頻,寒假便宜的時(shí)候入手的,現(xiàn)在賣(mài)的比較貴.如果主控芯片換成樹(shù)莓派PICO或者STM32F411CEU6,有足夠放下一幀的內(nèi)存空間,通過(guò)SPI接口讀取SD卡或許也可以完成.
但是STM32F103C8T6只有20KB的SRAM,根本不夠放下一幀,而且文件系統(tǒng)也有資源消耗,就完成這個(gè)LCD實(shí)驗(yàn)會(huì)比較費(fèi)勁,有卡頓的問(wèn)題.
在字庫(kù)方面LCD和OLED共用一套字庫(kù),英文字庫(kù)在Flash中,中文字庫(kù)在SD卡,支持Unicode(而不是GB2312/GBK).