丁素英,徐 刚
(1.潍坊学院,山东 潍坊 261061;2.南昌大学,江西 南昌 330031)
无线数据传送技术是当今工业控制、计算机应用、交通智能化等技术发展的一个热点。本软件借助蓝牙模块对机器人进行无线控制。此模块会在电脑端虚拟一个串口,通过MFC设计,利用该串口对机器人进行控制,可以对机器人发送控制命令并能够记录机器人回传的数据。软件能够自由选择串口,满足不同电脑的要求;能够显示已经发送的数据;显示已接受到的数据。由于串口波特率的限制,数据通过IEEE754协议转换为四字节。电脑端发送数据格式,采用“0xA5+命令+数据类型和读/写/保存+四个字节的数据+0x5A”(共8个字节);电脑端接收数据格式,采用“0xA5+命令+数据类型+四个字节的数据+0x5A”(共8个字节)。
1985年IEEE提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据二进制的规格化方法,数值的最高位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。IEEE754标准中有三种形式的浮点数:短浮点数、长浮点数和临时浮点数,具体格式见表1。此软件设计采用了短浮点数据进行传输。
表1 IEEE标准格式
在VC开发环境下新建一个基于对话框的MFC程序,根据需要,选择相应的控件。此软件中添加了静态文本框,EDIT box,BUTTON BOX,CHECK BOX,这几类控件,排版布局,添加控件相应的函数。
添加工程->Components and Controls->Registered ActiveX Controls文件夹,选择 Microsoft Communications Controls,version 6.0。然后insert,安装控件后,在控件栏最下面会多出一个电话一样的控件,这就是MSCOMM串口控件,把它拖出来放到空白处即可。添加串口控件后,对选择串口的四个按钮添加相应的处理函数,在函数内加入相应串口处理程序。
以COM1为例,对应Button1按键,程序代码如下:
按照类似方式,对四个串口选择按钮编写对应函数。
在发送区域选择操作类型、数据格式,填写对应命令号与数据,生成一帧指令。相应程序代码如下:
对串口接收到的所有数据进行处理。相应程序代码如下:
在电脑端建立一对模拟串口com3、com2,模拟电脑与机器人间的数据传输。
通过填写发送区域,生成一帧命令,发送后,发送框显示发送结果,串口助手受到8字节16进制数据:01为命令号,float型与读操作组成第三个字节11,0000F642为123按照IEEE754转换后的四字节数据,命令两端为校验码,如图1所示。
图1 数据发送检验
串口助手发送A501110000F6425A。软件接收到命令号为01,显示“1单片机接收成功”。串口助手发送A502110000F6425A。软件接收,接收框显示数据,将123用科学技术法表示。数据接收如图2所示。
图2 数据接收检测
通过串口通讯、发送数据格式处理和接收数据处理的设计,成功实现了软件的设计要求,完成了软件功能。
[1]孙鑫.VC++深入详解[M].北京:电子工业出版社,2006.
[2]辛长安.VC++编程技术与难点剖析[M].北京:清华大学出版社,2002.
[3]吴乃陵,李海文.C++程序设计实践教程[M].北京:高等教育出版社,2006.
[4]沈显君,杨进才,张勇.C++语言程序设计教程[M].2版.北京:清华大学出版社出版,2010.