大彩串口屏之LUA使用1
生活随笔
收集整理的這篇文章主要介紹了
大彩串口屏之LUA使用1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1:需求:想通過用戶輸入文本參數(shù)值,存入到屏的Flash中,斷電不丟失,下一次上電顯示的還是最后一次輸入的值。
2:實(shí)現(xiàn)原理:用戶在界面上設(shè)置文本控件的輸入,輸入完成可通過點(diǎn)擊“保存”按鈕
來實(shí)現(xiàn)將數(shù)值保存起來,斷電重新上電文本控件顯示上次輸入的值。
特別注意:–按下保存按鈕控件觸發(fā),畫面ID是5,控件ID是4,按下狀態(tài)是1;【程序?qū)崿F(xiàn)中有體現(xiàn)】
3:解決方法:可以通過LUA腳本進(jìn)行對屏的控制。通過求助大彩的技術(shù)支持,得到一份文檔,先是照貓畫虎把LUA程序拷貝過來然后進(jìn)行參數(shù)修改。我修改過之后的程序如下:
--初始化函數(shù) function on_init()local read_data={} --定義讀取的數(shù)組if read_flash(0,1)~=nil then --判斷flash是否被寫過read_data=read_flash(0,1) --讀取flash的數(shù)值set_value(5,2,read_data[0]) --初始化到文本控件set_value(5,3,read_data[0]) --這里這個(gè)值是我用來做測試的,也就是通過輸入,這里的參數(shù)也會顯示為我輸入的值end end --定時(shí)回調(diào)函數(shù),系統(tǒng)每隔1秒鐘自動調(diào)用。 --function on_systick()--sys_timer = sys_timer +1--set_value(2,1,sys_timer) --end --用戶通過觸摸修改控件后,執(zhí)行此回調(diào)函數(shù)。 --點(diǎn)擊按鈕控件,修改文本控件、修改滑動條都會觸發(fā)此事件。 function on_control_notify(screen,control,value)if screen == 5 and control == 4 and value == 1 then--按下保存按鈕控件觸發(fā),畫面ID是5,控件ID是4,按下狀態(tài)是1;if get_value(5,2)<=255 then--判斷輸入的值是否超出一個(gè)字節(jié)的范圍local save= {} --定義保存的數(shù)組save[0]=get_value(5,2) --對數(shù)組的第一個(gè)字節(jié)賦值write_flash(0,save) --對flash進(jìn)行數(shù)組的寫操作endendend
TFT工程畫面配置如上圖:畫面ID為5,控制ID分別為 2與3。
4:實(shí)現(xiàn)過程中注意遇到的問題:就是如下圖中紅色圈出來的部分。剛開始我把按鈕的初始狀態(tài)配置成了按下。所以一直不合適。后邊修改為彈起。當(dāng)按下的時(shí)候這個(gè)Value的值就是1.值在TFT軟件中指令助手中可以查看到。
注意:劃線部分的配置:
總結(jié)
以上是生活随笔為你收集整理的大彩串口屏之LUA使用1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 标记信件
- 下一篇: 全排列__正月点灯笼视频笔记