新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于Virtools 和串口通信的界面交互性的設(shè)計與實現(xiàn)

基于Virtools 和串口通信的界面交互性的設(shè)計與實現(xiàn)

作者: 時間:2010-07-08 來源:網(wǎng)絡(luò) 收藏

4 Virtools 中行為模組的設(shè)計與實現(xiàn)

下位機通過串口傳輸?shù)臄?shù)據(jù),經(jīng)過上位機程序轉(zhuǎn)換成 Virtools 可以識別的消息,然后 交由Virtools 中的行為模組進行處理,從而達到利用外部采集數(shù)據(jù)控制界面顯示的目的。

4.1Virtools 消息發(fā)送行為模組

Virtools 消息發(fā)送行為模組對模塊處理得到的數(shù)據(jù)信息進行重新封裝,然后發(fā)送給消息 解釋執(zhí)行行為模組。消息發(fā)送行為模組是使用Virtools 提供的開發(fā)工具包中相關(guān)類的方法實現(xiàn)對信 息的重新封裝。具體實現(xiàn)如下:

CKBeObject *beo = beh->GetTarget(); //獲取消息發(fā)送目標

if(!beo)

return CKBR_OWNERERROR;

int *tab = (int *)beh->GetLocalParameterReadDataPtr(0); //獲得本地變量操作句柄

CKMessageManager *mm = BehContext.MessageManager; //消息管理對象

int temp = GetMessage(BehContext) - '0'; //調(diào)用模塊讀取串口消息

mm->SendMessageSingle(tab[temp],beo); //調(diào)用消息發(fā)送函數(shù)發(fā)送已經(jīng)封裝好的動作消息

activeOutput_0 = TRUE;

4.2 消息解釋執(zhí)行行為模組

消息解釋執(zhí)行行為模組首先從當前的消息列表中獲取消息類型,根據(jù)消息類型屬性中指定的特 定消息類型來判斷當前到達的消息是否為該特定消息,并根據(jù)判斷結(jié)果調(diào)用不同的處理模塊。具體 的處理流程如圖3 所示。

圖 3 消息解釋執(zhí)行行為模組流程圖

利用 Virtools 中行為模組的回調(diào)機制,循環(huán)調(diào)用該行為模組。在界面切換時檢測一下消息,判 斷是否與屬性中設(shè)定的動作消息一致。如果一致,則向動作控制行為模組發(fā)送激活消息。

4.3 動作控制行為模組

動作控制行為模組主要使用Virtools 自帶的行為模組,像按鍵響應(yīng)行為模組、腳本的控制行為模組等。另外為了控制外部媒體文件的播放,還利用了Virtools 中加載資源文件、播放資源文件的 行為模組。

動作控制行為模組接收到消息解釋執(zhí)行行為模組發(fā)送的激活信息,就會調(diào)用相應(yīng)的行為模組完 成界面的輸出。

5 結(jié)論

本文從工程應(yīng)用的角度,給出了基于Virtools 和串口通信的界面交互性的設(shè)計方法,并給出關(guān)鍵部分的設(shè)計思路和方法。該設(shè)計方法具有一定的通用性,可應(yīng)用于其它需要用戶界面交互設(shè)計的應(yīng)用系統(tǒng)中。

本文作者創(chuàng)新點:串口通信下,采集下位機(單片機)傳遞的信息,運用 Virtools 的行為模組 進行實時處理,實現(xiàn)了人機界面的交互。這一設(shè)計也為其他人機界面交互性的實現(xiàn)提供了一種新的思路。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 串口通信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉