13.5.5 “+”按鈕的操作
1.“+”按鈕的回調(diào)函數(shù)
點(diǎn)擊如下按鈕時(shí),會(huì)增加“點(diǎn)”:
在界面里會(huì)得到如下圖所示的新控件:
點(diǎn)擊“+”按鈕時(shí)它的回調(diào)函數(shù)“add_new_item_event_handler”被調(diào)用,這個(gè)回調(diào)函數(shù)在“l(fā)v_modbus_tool”函數(shù)中被設(shè)置,代碼如下:
“add_new_item_event_handler”函數(shù)代碼如下:
它調(diào)用“add_new_item”函數(shù)為“點(diǎn)”創(chuàng)建控件,此函數(shù)在前面分析過(guò),不再贅述。
2.通過(guò)RPC通知后臺(tái)程序添加點(diǎn)
上圖中第2個(gè)參數(shù)為“-1”,表示要?jiǎng)?chuàng)建一個(gè)新點(diǎn):這會(huì)導(dǎo)致“rpc_add_point”函數(shù)被調(diào)用,代碼如下:
13.5.6 “Setting”按鈕的操作
1.創(chuàng)建配置界面
點(diǎn)擊“Setting”按鈕,會(huì)彈出一個(gè)配件界面:
可以在配置界面里設(shè)置“點(diǎn)”的信息:使用哪個(gè)串口、串口參數(shù)設(shè)置、設(shè)備地址、寄存器地址、寄存器類別。
這個(gè)配置界面在何時(shí)被創(chuàng)建?在“add_new_item”函數(shù)中創(chuàng)建:
最底層:
“[0]”表示第1層的第0個(gè)控件:
“[0-0]”表示第2層的第0個(gè)控件:
其他代碼都是類似的,不再贅述。
2.顯示配置界面
點(diǎn)擊“Setting”按鈕時(shí)它的回調(diào)函數(shù)“show_conf_event_handler”被調(diào)用,這個(gè)回調(diào)函數(shù)在“add_new_item”函數(shù)中被設(shè)置,代碼如下:
“show_conf_event_handler”函數(shù)代碼如下:
配置界面如下:
3.配件界面的“OK”按鈕的回調(diào)函數(shù)
當(dāng)設(shè)置好各類參數(shù)后,點(diǎn)擊“OK”按鈕將會(huì)調(diào)用它的回調(diào)函數(shù)“com_conf_opt_btn_event_handler”,這個(gè)回調(diào)函數(shù)在“配置頁(yè)面的創(chuàng)建函數(shù)com_or_ip_conf_page_init”中被設(shè)置,代碼如下:
“com_conf_opt_btn_event_handler”回調(diào)函數(shù)代碼如下,它僅僅是發(fā)出一個(gè)事件:
上圖第1124、1126、1128行,一層一層地找到“Send”按鈕,如下圖:
先在cont2_x中找到它的第2個(gè)child,就是“add_new_item”中給某個(gè)點(diǎn)創(chuàng)建的、占據(jù)66%高度的控件cont2_x_2,對(duì)應(yīng)注釋“[2]”。
再在cont2_x_2中找打它的第6個(gè)child,即控件 cont2_x_2_x,對(duì)應(yīng)“add_new_item”函數(shù)中的注釋“[2-6]”。
最后在cont2_x_2_x中找打它的第1個(gè)child,對(duì)應(yīng)“add_new_item”函數(shù)中的注釋“[2-6-1]”,它就是“Send”按鍵
就可以給“Send”按鍵發(fā)送“MY_LV_EVENT_UPDATE_RPC”事件了。
4.“Send”按鈕回調(diào)函數(shù)
對(duì)于“點(diǎn)”,有如下界面:
上圖界面是使用“add_new_item”函數(shù)創(chuàng)建的,里面的“Send”按鈕回調(diào)函數(shù),如下圖所示:
在“Setting”界面點(diǎn)擊“OK”按鈕時(shí),會(huì)給“Send”按鈕發(fā)送“MY_LV_EVENT_UPDATE_RPC”事件。導(dǎo)致“btn_send_event_handler”函數(shù)被調(diào)用,這個(gè)函數(shù)最終會(huì)使用RPC接口修改點(diǎn)的信息,調(diào)用關(guān)系如下圖所示:
13.5.7 寫(xiě)“點(diǎn)”的操作
在如下界面寫(xiě)入數(shù)值后,點(diǎn)擊“Send”,會(huì)調(diào)用RPC接口寫(xiě)傳感器:
“Send”按鈕的回調(diào)函數(shù)“btn_send_event_handler”被調(diào)用,它的代碼如下:
對(duì)于“0x”、“4x”的寄存器,先寫(xiě)入數(shù)據(jù),再讀出來(lái)。
13.5.8 讀“點(diǎn)”的操作
在如下界面勾選“Period”前面的復(fù)選框,會(huì)周期性地讀點(diǎn):
創(chuàng)建這個(gè)復(fù)選框時(shí)的代碼如下:
當(dāng)勾選“Period”前面的復(fù)選框時(shí),“cb_send_period_event_handler”函數(shù)被調(diào)用:
在定時(shí)器的函數(shù)里,向“Send”按鈕發(fā)送“MY_LV_EVENT_READ_PERIOD”事件,代碼如下:
“Send”函數(shù)的回調(diào)函數(shù)“btn_send_event_handler”被調(diào)用,它會(huì)使用RPC調(diào)用讀取點(diǎn)的數(shù)值,代碼如下:
-
程序
+關(guān)注
關(guān)注
117文章
3795瀏覽量
81286 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4345瀏覽量
62865 -
代碼
+關(guān)注
關(guān)注
30文章
4821瀏覽量
68890 -
LVGL
+關(guān)注
關(guān)注
1文章
91瀏覽量
3030
原文標(biāo)題:LVGL前臺(tái)程序開(kāi)發(fā)相關(guān)操作 - RZ MPU工業(yè)控制教程連載(52)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論