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