lcd液晶屏上有動畫的時候,一般都需要高頻重新整理螢幕。
如果不使用memdev,而按傳統方法做動畫效果,螢幕會閃爍,效果不好。
memdev的使用是為了上述情況引起的閃爍。
其原理在於,先把這一幀到下一幀的顯示過程在記憶體中預演。把生成的最終結果,再重新整理到螢幕上。這樣一來螢幕的顯示內容變化次數降到最低。直接輸出需要顯示的內容。有效的避免了閃爍。
我也做了個實驗,在一塊螢幕上,對比兩種效果,一目了然。
memdev在**中的使用也很簡單:
原始碼關鍵部分:
gui_memdev_handle mh;//申請乙個變數放控制代碼
mh = gui_memdev_create(0, 30, 240, 145);
gui_memdev_select(mh);//選擇使用
gui_setcolor(gui_red);//這5行是改變過程
gui_fillcircle(posx,90,30);
gui_setcolor(gui_yellow);
gui_settextmode(gui_textmode_trans);
gui_dispstringat("hello world",20,70);
gui_memdev_copytolcd(mh);//把上述過程的結果輸出
gui_memdev_clear(mh);//清除記憶體
UCGUI學習之路 2 移植
開始學習之前,先簡單說說我的移植過程及一些問題的解決。ucgui 的源 我用的是 3.90 版的,並且準備乙個簡單工程,並且編譯無誤。開啟源 資料夾,複製 start gui 目錄下所有檔案到工程資料夾中,複製 start config 目錄下所有檔案 到工程目錄下的 gui資料夾中,複製 samp...
Linux學習之路(5)
1 字串處理函式 include include 1 gets可以讀空格,但是本身不安全,可能導致陣列越界 int main1 2 fgets 可以讀空格 可以讀換行 當陣列大小不夠的時候會自動截斷 保留乙個字元最為 0 使用 int main2 3 其他輸入輸出 getchar putchar p...
python學習之路(5)
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。比如,輸入使用者年齡,根據年齡列印不同的內容,在python程式中,用if語句實現 age 20 if age 18 print your age is age,s 歲 your age is 20 歲 根據python的縮排規則,如果if...