本文以一個(gè)簡(jiǎn)單的溫度設(shè)置程序?yàn)槔榻B AWTK 串口屏的開(kāi)發(fā)流程和 MVVM 數(shù)據(jù)綁定的基本方法。
功能
這個(gè)例子很簡(jiǎn)單,制作一個(gè)調(diào)節(jié)溫度的界面。在這里例子中,模型(也就是數(shù)據(jù))里只有一個(gè)溫度變量:
變量名 | 數(shù)據(jù)類(lèi)型 | 功能說(shuō)明 |
溫度 | 整數(shù) | 溫度。范圍 (0-100) 攝氏度 |
創(chuàng)建項(xiàng)目
從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/hello_word 即可。
第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂剑仁煜ぶ笤倏紤]放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。
制作界面
用 AWStudio 打開(kāi)上面 hello_world 目錄下的 project.json 文件。里面有一個(gè)空的窗口,在上面加入下面的控件:
- 靜態(tài)文本
- 環(huán)形進(jìn)度條
- 滑動(dòng)條
并調(diào)節(jié)位置和大 小,做出類(lèi)似下面的界面。
添加綁定規(guī)則
1. 將環(huán)形進(jìn)度條綁定到溫度變量。添加自定義的屬性v-data:value,將值設(shè)置為{溫度},如下圖所示:
v-data:value 表示控件的值,后面會(huì)經(jīng)常用到,建議記住它。
2. 將滑動(dòng)條綁定到溫度變量。添加自定義的屬性v-data:value,將值設(shè)置為{溫度},如下圖所示:
3. 指定窗口的模型為 default。如下圖所示:
嚴(yán)格的意義上說(shuō),綁定規(guī)則也是一種代碼,不過(guò)相比于 C 語(yǔ)言,它有下面的優(yōu)勢(shì):
無(wú)需編譯,直接運(yùn)行
簡(jiǎn)單,通常只有一行。
易懂,聲明式的語(yǔ)法。
初始化數(shù)據(jù)
修改資源文件 design/default/data/default_model.json, 將其內(nèi)容改為:
{ "溫度":25}
注意:
如果文件內(nèi)容有中文(非ASCII字符),一定要保存為 UTF-8 格式。
重新打包資源才能生效。
編譯運(yùn)行
運(yùn)行 bin 目錄下的 demo 程序,拖動(dòng)滑動(dòng)條上的滑塊,滑動(dòng)條的數(shù)據(jù)也會(huì)跟隨改變。
使用 MCU 模擬器與之進(jìn)行交互
運(yùn)行 mcu/simulator 目錄下的 mcu_sim 程序,連接到 Localhost:2233。
拖動(dòng)滑動(dòng)條上的滑塊,會(huì)看到模擬器上收到了對(duì)應(yīng)的事件;
在模擬器中設(shè)置變量溫度的數(shù)據(jù),HMI 端的界面也會(huì)自動(dòng)更新。
注意
本項(xiàng)目并沒(méi)有編寫(xiě)界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒(méi)有用到,可以刪除也可以不用管它,但是不能加入編譯。
-
程序
+關(guān)注
關(guān)注
117文章
3820瀏覽量
82396 -
串口屏
+關(guān)注
關(guān)注
8文章
578瀏覽量
38102 -
awtk
+關(guān)注
關(guān)注
0文章
50瀏覽量
349
發(fā)布評(píng)論請(qǐng)先 登錄
在mimxrt1170_evk調(diào)試hello_world出現(xiàn)硬件傳輸錯(cuò)誤怎么解決?
使用MCUXpresso for VS Code插件開(kāi)發(fā)Zephyr的hello world

AWTK-WEB 快速入門(mén)(1) - C 語(yǔ)言應(yīng)用程序

AWTK 最新動(dòng)態(tài):支持瀏覽器控件

【AWTK使用經(jīng)驗(yàn)】如何使用系統(tǒng)輸入法與開(kāi)啟最大化窗口功能

串口屏支持哪些編程語(yǔ)言和開(kāi)發(fā)環(huán)境?

【AWTK使用經(jīng)驗(yàn)】如何在AWTK顯示阿拉伯文本

【AWTK最新動(dòng)態(tài)】AWTK 1.8版本發(fā)布

【AWTK使用經(jīng)驗(yàn)】如何更換AWTK SDK與渲染模式

迪文串口屏ModBus開(kāi)發(fā)流程

【AWTK使用經(jīng)驗(yàn)】如何實(shí)現(xiàn)序列幀動(dòng)畫(huà)

【AWTK使用經(jīng)驗(yàn)】如何播放視頻或攝像頭畫(huà)面

esp32運(yùn)行make flash燒寫(xiě)hello world遇到的疑問(wèn)求解
使用make flash命令燒錄Hello_world程式失敗了,為什么?
【AWTK使用經(jīng)驗(yàn)】如何響應(yīng)物理按鍵

評(píng)論