新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于Virtools 和串口通信的界面交互性的设计与实现

基于Virtools 和串口通信的界面交互性的设计与实现

作者:时间:2010-07-08来源:网络收藏

摘 要:本文介绍了一种采用Virtools 和实现人机界面交互的设计方法。下位机通过 的方式将采集的数据传给上位机,上位机通过Virtools 的行为模组对这些数据进行处理, 并根据处理结果做出响应,从而实现人机界面的交互。

1 引言

用户界面设计是屏幕产品的重要组成部分,它为人机交互构建了一个沟通环境。其中交互性设 计是用户界面设计中的重要内容之一。交互设计的目的是让用户能够简单方便地使用产品,任何产 品功能的实现都是通过人机交互完成的。现以单片机为核心的嵌入式应用中界面交互性设计为例具 体介绍其实现方法。

2 总体设计方案

总体设计方案如图 1 所示。

图 1 总体设计图

以单片机为核心的下位机主要是负责采集处理数据信息,在接到上位机的数据请求的时候发送 数据给上位机。编写上位机端的程序,用于处理串口信息并且把处理过后的消息发送给 Virtools。在Virtools 中设计消息解释执行行为模组,将解释出的相应动作信息发送给界面控制程序, 最后由其完成屏幕的输出。同时协调Virtools 中各行为模组的工作,使之达到良好的演示效果。

3 串口通信设计与实现

串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种 通信方式。这种通信方式使用的数据线少。本文的串口通信设计包括下位机端的串口通信模块和上 位机端的串口通信模块。

3.1 下位机的串口通信模块

下位机的串口通信模块通过串口完成与上位机的通信,在接到上位机数据请求后将采集的数据 信息发送给上位机。 在设计中首先设定定时器 T1 为串口波特率发生器,设定波特率为19200bps;上位机发送数据 请求后触发下位机串口中断,为了能够快速的响应上位机的请求,减少上位机的等待,将串口中断 的优先级设置为最高;下位机会优先调用通信模块响应该中断,通信模块首先判断请求消息是否正 确,在确定是正确的请求消息后,从缓冲区中取出数据,封装成一条消息M 消息码R(如M01R), 通过串口发送给上位机。通信模块具备一定过滤及容错能力。

下面重点介绍一下串口通信模块的处理方式。

串口通信模块采用中断处理方式,每完整地接收到一个字符或发送完一个字符都会触发该中断, 进入到相应的中断处理函数中。中断处理函数涉及到接收和发送两个部分,因此在中断处理函数开 始的部分就判断是接收引发的中断,还是发送引发的中断。如果是接收中断,在接收中断中每接收 一个字符都要判断,确定是否为上位机发送过来的请求消息,如果不是放弃当前接收到的内容,从 头开始接收;如果是,则响应上位机的数据请求,将接收态改为发送态,然后向上位机发送通信缓 冲区中的第一个字符,每发送一个字符会产生中断,在下次中断中再发送下一字符,按此过程直到 发送完毕。

3.2 上位机的串口通信模块

上位机的串口通信模块通过串口向下位机发送请求信息,处理下位机返回的数据信息,并将其 发送给处理这些信息的行为模组。这一过程是循环执行的。该程序是与下位机协同工作的唯一接口, 是联系界面和下位机的桥梁。它的处理流程如图2 所示。

图 2 上位机串口通信模块处理流程图

上位机的串口通信程序是通过调用 Windows 提供的有关串口操作的API 函数完成的。首先创建 了基础串口类_base_com,在其中实现基本信息配置、打开、关闭串口等基础功能。为了实现异步发 送和异步接收,在_base_com 类的基础上派生出异步串口通信类_sync_com 完成异步的数据传输。


上一页 1 2 3 下一页

关键词: 串口通信

评论


相关推荐

技术专区

关闭