本文主要闡述的是大彩串口屏如何實(shí)現(xiàn)串口更新菜單選項(xiàng)。本例子采用的是文本控件,按鈕控件以及數(shù)據(jù)記錄控件結(jié)合lua腳本去實(shí)現(xiàn)下拉菜單的功能,同時(shí)使用大彩協(xié)議的指令通過(guò)數(shù)據(jù)記錄控件完成菜單選項(xiàng)的更新。
本文適用于大彩串口屏M系列、物聯(lián)型以及F系列等支持lua腳本的型號(hào)。
3.1 界面配置
圖 3-1界面配置
圖3-2文本控件屬性
按鈕控件,主要用于觸發(fā)下拉菜單的顯示,即點(diǎn)擊按鈕可以顯示數(shù)據(jù)記錄控件,相應(yīng)的屬性如圖3-3所示。
圖3-3按鈕控件屬性
數(shù)據(jù)記錄控件,主要用于替代菜單控件的顯示,通過(guò)選中對(duì)應(yīng)的選項(xiàng),在文本控件中顯示最終選中的選項(xiàng),相應(yīng)的屬性如圖3-4所示。
圖3-4數(shù)據(jù)記錄控件屬性
3.3 實(shí)現(xiàn)步驟
3.3.1 下拉菜單功能
下拉菜單的功能主要通過(guò)lua腳本來(lái)實(shí)現(xiàn),實(shí)現(xiàn)原理是通過(guò)按鈕控件來(lái)觸發(fā)下拉菜單選項(xiàng)的顯示,通過(guò)對(duì)數(shù)據(jù)記錄控件的選中操作,通過(guò)控件通知函數(shù)on_control_notify(screen,control,value)來(lái)觸發(fā)回調(diào),實(shí)現(xiàn)將數(shù)據(jù)記錄控件選中的選項(xiàng)讀取出來(lái),再將讀取出來(lái)的選項(xiàng)顯示到文本控件中實(shí)現(xiàn)。相應(yīng)的lua腳本代碼如圖3-5所示。
圖3-5Lua腳本代碼
3.3.2 串口指令更新選項(xiàng)
串口指令更新的步驟主要是:先將原來(lái)的菜單選項(xiàng)清空,然后重新更新需要顯示的選項(xiàng)。對(duì)應(yīng)的操作即串口給屏幕發(fā)送相應(yīng)的指令即可,關(guān)于實(shí)現(xiàn)上面兩個(gè)步驟,用到的指令有清除記錄數(shù)據(jù)指令以及添加多行記錄的指令。清除記錄數(shù)據(jù)的指令參考圖3-6。
圖3-6清除記錄數(shù)據(jù)指令
添加多條記錄指令就是一條指令更新多個(gè)選項(xiàng)的顯示。比如:將里面的選項(xiàng)更新成對(duì)應(yīng)的電壓參數(shù),相應(yīng)的指令參考圖3-7。
圖3-7添加多條記錄指令
3.3.3 虛擬調(diào)試
通過(guò)串口發(fā)送指令去更新顯示的選項(xiàng),同時(shí)可以通過(guò)按鈕來(lái)實(shí)現(xiàn)下拉菜單的功能。將里面的選項(xiàng)更新成對(duì)應(yīng)的電壓參數(shù),相應(yīng)的調(diào)試效果如圖3-8所示。
圖3-8調(diào)試效果
本例子主要是結(jié)合數(shù)據(jù)記錄控件可以通過(guò)串口靈活更新的特點(diǎn),直接用數(shù)據(jù)記錄控件替代菜單控件,同時(shí)使用lua腳本來(lái)處理按鈕控件的下拉菜單的功能,并可以將選中的選項(xiàng)顯示文本控件。通過(guò)數(shù)據(jù)記錄控件的靈活更新功能并結(jié)合lua腳本的邏輯應(yīng)用,可以有效實(shí)現(xiàn)串口更新菜單選項(xiàng)的功能。