前言
問題:
假設(shè)320*240的rgb565屏幕,320*240*2=153600,內(nèi)存已經(jīng)150K了,而很多低端單片機(jī)接口速度雖然勉強(qiáng)能用,但內(nèi)存只有20K/8K,整屏的顯存是絕對(duì)放不下的,只刷一部分都占很多內(nèi)存,低端單片機(jī)刷彩屏都是寫哪刷哪靜態(tài)刷新的嗎?這種場(chǎng)合比較合適的解決方法是什么?外掛ram嗎?
很多m0 m3 m4的單片機(jī)內(nèi)存都很小,該如何解決呢?
一、for循環(huán)刷新
靜態(tài)刷新是個(gè)辦法;
如果屏的內(nèi)容可讀取,也可將屏當(dāng)作顯存.
我常用的方法是:
1.減少顏色位數(shù),比如將其當(dāng)作單色屏,一個(gè)像素只占一位,那就只需320*240/8=9600字節(jié)的顯存.
2.以時(shí)間換空間:
把整屏分為N個(gè)小屏,顯存就只需要320*240*2/N,然后寫個(gè)for循環(huán):
for(i=0;i<N;i++)
{
??設(shè)置第i個(gè)小屏的矩形區(qū)域;
??繪圖;
??顯存發(fā)送到屏;
}
二、在顯示屏上花心思
1.具體要看想設(shè)計(jì)的有多花了,否則除了幾個(gè)ICON占空間外,其他的如背景前景都可以采用拼圖,而且采用ST7789這樣控制模組的LCD都不需要經(jīng)常刷新,只需要視窗內(nèi)容有變化的時(shí)候才會(huì)局部刷新
2.有一種叫做MCU屏,屏幕的主控芯片是自帶顯存的。另外一種叫做RGB屏,如你所說的需要額外的顯存。文章來源:http://www.zghlxwxcb.cn/news/detail-802947.html
3.SPI或8080接口的小尺寸液晶屏,屏幕自帶了顯示控制器,顯存位于顯示控制器中,簡(jiǎn)單顯示的話,無需MCU再實(shí)現(xiàn)一個(gè)顯存。文章來源地址http://www.zghlxwxcb.cn/news/detail-802947.html
到了這里,關(guān)于低端單片機(jī)彩色屏幕的內(nèi)存占用疑惑的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!