加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

技術(shù)分享 | AWTK 開源串口屏開發(fā)(6) - 定時(shí)器的用法

01/14 08:24
2427
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

定時(shí)器是個(gè)常用的功能,AWTK 串口屏提供了豐富的定時(shí)器函數(shù),用于定時(shí)器的啟動(dòng)、停止、暫停、恢復(fù)、修改和重置等功能,本文以計(jì)時(shí)器的例子來介紹定時(shí)器的基本用法。

定時(shí)器也是一個(gè)常用的功能,在 AWTK 串口屏中,可以給每個(gè)控件(包括窗口)創(chuàng)建一個(gè)定時(shí)器,定時(shí)器到點(diǎn)后觸發(fā) v-on:timer 事件。在 AWTK 串口屏中,提供了 6 個(gè)定時(shí)器相關(guān)函數(shù):

    start_timer?啟動(dòng)定時(shí)器。stop_timer?停止定時(shí)器。suspend_timer?暫停定時(shí)器。resume_timer?恢復(fù)暫停的定時(shí)器。reset_timer?重置定時(shí)器。modify_timer?修改定時(shí)器的時(shí)間。

這些函數(shù)第一個(gè)參數(shù)為控件的名字,如果不指定,則默認(rèn)為當(dāng)前控件。

1. 功能

本文以計(jì)時(shí)器的例子來介紹定時(shí)器的使用方法。在這里例子中,模型(也就是數(shù)據(jù))里只有一個(gè)計(jì)時(shí)變量:

變量名 數(shù)據(jù)類型 功能說明
計(jì)時(shí) 整數(shù)

2. 創(chuàng)建項(xiàng)目

從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/timer 即可。

第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂?,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

3. 制作界面

用 AWStudio 打開上面 timer 目錄下的 project.json 文件。里面有一個(gè)空的窗口,在上面加入下面的控件:

靜態(tài)文本

4 個(gè)按鈕

做出類似下面的界面。

定時(shí)器設(shè)置在靜態(tài)文本上,所以必須給它取一個(gè)在當(dāng)前窗口內(nèi)唯一的名稱,這里就叫 “tick”。

4. 添加綁定規(guī)則

將?靜態(tài)文本?綁定到?計(jì)時(shí)?變量。添加自定義的屬性?v-data:value,將值設(shè)置為?{計(jì)時(shí)}。

綁定屬性 綁定規(guī)則 說明
v-data:value {計(jì)時(shí)} 變量要用英文大括號(hào)括起來。
v-on:timer {fscript, Args=set(計(jì)時(shí),計(jì)時(shí)+1)} 定時(shí)器事件,增加計(jì)時(shí)

在?啟動(dòng)?按鈕的?點(diǎn)擊?事件啟動(dòng)定時(shí)器。

綁定屬性 綁定規(guī)則 說明
v-on:click {fscript, Args=start_timer(‘tick’, 1000);} 1000 表示定時(shí)器的時(shí)間間隔為 1000 毫秒。

在?暫停?按鈕的?點(diǎn)擊?事件暫停定時(shí)器。

綁定屬性 綁定規(guī)則 說明
v-on:click {fscript, Args=suspend_timer(‘tick’)}

在?恢復(fù)?按鈕的?點(diǎn)擊?事件恢復(fù)定時(shí)器。

綁定屬性 綁定規(guī)則 說明
v-on:click {fscript, Args=resume_timer(‘tick’)}

在?停止?按鈕的?點(diǎn)擊?事件停止定時(shí)器。

綁定屬性 綁定規(guī)則 說明
v-on:click {fscript, Args=stop_timer(‘tick’);set(計(jì)時(shí),0)} 停止定時(shí)器,并將計(jì)時(shí)清零

同樣指定窗口的模型為 default。

綁定屬性 綁定規(guī)則 說明
v-model default default 不需要用大括號(hào)括起來。

5. 初始化數(shù)據(jù)

修改資源文件 design/default/data/default_model.json, 將其內(nèi)容改為:

{ ?"計(jì)時(shí)":0}

注意:如果文件內(nèi)容有中文(非 ASCII 字符),一定要保存為 UTF-8 格式。重新打包資源才能生效。

6. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序,啟動(dòng)定時(shí)器后,計(jì)時(shí)自動(dòng)增加。

7. 注意

本項(xiàng)目并沒有編寫界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LAN8710AI-EZK-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC32, 5 X 5 MM, 0.90 MM HEIGHT, ROHS COMPLIANT, QFN-32

ECAD模型

下載ECAD模型
$1.56 查看
ISO1050DUB 1 Texas Instruments Isolated 5-V CAN transceiver 8-SOP -55 to 105

ECAD模型

下載ECAD模型
$6.62 查看
TJA1042T/1J 1 NXP Semiconductors TJA1042 - High-speed CAN transceiver with Standby mode SOIC 8-Pin

ECAD模型

下載ECAD模型
$1.57 查看
致遠(yuǎn)電子

致遠(yuǎn)電子

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬元,國家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬元,國家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜