- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Virtools 和串口通信的界面交互性的设计与实现
4 Virtools 中行为模组的设计与实现
下位机通过串口传输的数据,经过上位机串口通信程序转换成 Virtools 可以识别的消息,然后 交由Virtools 中的行为模组进行处理,从而达到利用外部采集数据控制界面显示的目的。
4.1Virtools 消息发送行为模组
Virtools 消息发送行为模组对串口通信模块处理得到的数据信息进行重新封装,然后发送给消息 解释执行行为模组。消息发送行为模组是使用Virtools 提供的开发工具包中相关类的方法实现对信 息的重新封装。具体实现如下:
CKBeObject *beo = beh->GetTarget(); //获取消息发送目标
if(!beo)
return CKBR_OWNERERROR;
int *tab = (int *)beh->GetLocalParameterReadDataPtr(0); //获得本地变量操作句柄
CKMessageManager *mm = BehContext.MessageManager; //消息管理对象
int temp = GetMessage(BehContext) - '0'; //调用串口通信模块读取串口消息
mm->SendMessageSingle(tab[temp],beo); //调用消息发送函数发送已经封装好的动作消息
activeOutput_0 = TRUE;
4.2 消息解释执行行为模组
消息解释执行行为模组首先从当前的消息列表中获取消息类型,根据消息类型属性中指定的特 定消息类型来判断当前到达的消息是否为该特定消息,并根据判断结果调用不同的处理模块。具体 的处理流程如图3 所示。
图 3 消息解释执行行为模组流程图
利用 Virtools 中行为模组的回调机制,循环调用该行为模组。在界面切换时检测一下消息,判 断是否与属性中设定的动作消息一致。如果一致,则向动作控制行为模组发送激活消息。
4.3 动作控制行为模组
动作控制行为模组主要使用Virtools 自带的行为模组,像按键响应行为模组、脚本的控制行为模组等。另外为了控制外部媒体文件的播放,还利用了Virtools 中加载资源文件、播放资源文件的 行为模组。
动作控制行为模组接收到消息解释执行行为模组发送的激活信息,就会调用相应的行为模组完 成界面的输出。
5 结论
本文从工程应用的角度,给出了基于Virtools 和串口通信的界面交互性的设计方法,并给出关键部分的设计思路和方法。该设计方法具有一定的通用性,可应用于其它需要用户界面交互设计的应用系统中。
本文作者创新点:串口通信下,采集下位机(单片机)传递的信息,运用 Virtools 的行为模组 进行实时处理,实现了人机界面的交互。这一设计也为其他人机界面交互性的实现提供了一种新的思路。
来源:维库开发网
上一篇:技术专家谈如何选择智能视频监控产品
下一篇:大机
UPS电源系统常见问题分析