這次就貢獻(xiàn)給大家一個(gè)基于STM32F103的不閃屏的方案,有需要的就拿去吧。硬件都是用的原子的戰(zhàn)艦,所以有戰(zhàn)艦可以直接拿來(lái)用了,不過(guò)我用的3.5寸的屏哦。
硬件:
- 帶DMA和FSMC接口的單片機(jī),這里用的是STM32F103ZE
- SRAM芯片,這里用的是IS62WV51216(用了300kb,320*480*2=307200字節(jié))
- 3.5寸的液晶屏,這里用的是5310
- 需要幾個(gè)按鍵
軟件:
- 用了3.0的庫(kù)
- 用了FreeRTOS(當(dāng)然裸奔也是可以的)
- 部分修改了原子的程序來(lái)用的,例如LCD.c刪的只剩5310的驅(qū)動(dòng)了,key.c實(shí)現(xiàn)單按松開(kāi)有效,支持連續(xù)長(zhǎng)按
- 提供了個(gè)還算完整的基本繪圖需要的函數(shù)吧
硬件很簡(jiǎn)單,沒(méi)有使用LCD驅(qū)動(dòng)芯片,也不需要LCD控制器,就可以實(shí)現(xiàn)一個(gè)高速不閃屏,也是相當(dāng)實(shí)惠的。屏幕刷新是以點(diǎn)更新為只準(zhǔn)的,效率不高,原因?qū)ξ业捻?xiàng)目來(lái)說(shuō)這個(gè)速度已經(jīng)很好了,如果優(yōu)化下可以更快,不過(guò)速度太快用戶體驗(yàn)也不是很好。還有一個(gè)雖然我里面用的顏色是黑白的,但是事實(shí)上是用的u16的色哦,自己改成彩色也是可以的。
先上張圖看看效果:
左右鍵可以移動(dòng)垂直的(叫坐標(biāo)線?),然后下面顯示與正玄波相交點(diǎn)的數(shù)值。