酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

基于Visual C++的串行通信编程与实现

作者:邹慧群
来源:酷文网
点击:
载入中...
加入时间:2008-07-21
字体大小:[  ]

2.3 对VC++中控件MSComm的插入操作
Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件[1],它为应用程序提供了通过串行接口收发数据的简便方法。MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。
通信控件的工作原理类似于中断方式,当有通信事件发生时,如发送、接收数据,就会触发OnComm事件。在OnComm事件的处理函数中调用 GetCommEvent()函数,由该函数的返回值即可确定是什么类型的事件,并由此做出相应的处理。
使用串行通信控件前,首先要进行系统注册。
1) 在建立新工程时,将ActiveX Controls复选框选中,表示本程序支持ActiveX 控件。
2) 单击Project菜单,从中选择Add to Project,在弹出的对话框中单击Components and Controls选项,如图2,然后在弹出的对话框中再单击Registered ActiveX Controls选项。


图2 添加Registered ActiveX Controls
Fig.2 Add Registered ActiveX Controls


图3 添加MSComm控件
Fig.3 Add MSComm control

3) 在列表中选择Microsoft Communications Control (version6.0),形状为带有红色底座的黄色电话机,如图3。单击Insert按钮,确认后,会出现一个Confirm Classes对话框,其中列出了该控件的类名(CMSComm)、头文件名(MSComm.h)、执行文件名(MSComm.cpp)。关闭此对话框,在程序主界面的控件列表中,可以看到该通信控件 已被加入,拖动该控件就可以将其放入程序中。
在使用MSComm控件时,1个MSComm控件只能同时对应1个串口。如果应用程序需要访问和控件多个串口,那么必须使用多个MSComm控件。

3 基于Visual C++串口通信的编程
3.1 系统设计整体方案
本设计采用无线感应器模块对现场外界温度、湿度、电压等数据进行采集,根据数字芯片特性进而直接输出数字信号,再经过RS232标准串口直接与计算机连接,分别设置好上位机和下位机串口号,遵循双方约定的串口通信协议实现数据准确传输,达到所采集数据实时显示效果。
3.1.2 下位机程序设计方案
设计单片机通信程序时,必须充分发挥单片机的效率。由于单片机多应用于实时性较强的控制场合,因此,将及时响应和控制对象的动作放在优先考虑的位置,以尽量减少通信等辅助性操作所占用的CPU时间。基于上述考虑及本设计的目的只在于显示串口传输的数据,本设计单片机通信程序时,只考虑下位机发送子程序。
主程序首先完成串行口的初始化、设置串口的工作方式、串口波特率/数据位、校验位等。
发送子程序,只有当发送缓冲区内有数据要发送才调用。发送的数据遵守通讯协议的数据帧格式:首先发送起始标志, 然后发送需要传输的数据,最后发送校验和以及结束标志位。
3.1.3 上位机程序设计方案
上位机程序设计采用VC ++ 6.0开发平台来实现。应用MSComm控件,可以非常方便地创建串行通信应用程序。
1) 设置通信对象、通信端口号以及配置通信格式(如数据位长度、校验方式等) 和其他相关属性;


2) 设定通信协议[1],控件只提供数据流的发送与接收处理,它不对数据流进行分析其含义的操作,故双发在通信前,约定好使用的通信协议即可。
3) 打开通信端口,进行数据的传输;
4) 关闭通信端口,释放系统资源。在完成串行通信操作后,将串行通信端口的资源归还给操作系统;   
3.2 端口属性设置与硬件连接
3.2.1 端口属性设置
在PC机的主板上,有一种RS-232C串行接口,在微软的Windows系统中称其为COM,本质而言,COM是PC为和外界通信所提供的一种串行数据传输的接口。我们可以通过设备管理器来查看设置COM的硬件参数,见图4。在实现串口通信的过程中必须满足两个串口的设置参数一样,迄今为止,几乎每一台PC都包含COM。通常一台计算机只有2个串口和一个并口,而一个串口被用于与显示屏相连,另一个串口用来与外界设备进行数据收发等。
 
图4 在Windows上查看PC串口设置
 Fig.4 Looking for PC’ serial port setting on Windows

作为一种物理通信的途径和设备,RS232和目前风靡的另一种串行接口――USB所提供的功能是一致的。不过RS-232C显然已经开始被后起之秀USB赶超,因为USB的传输速率已经远远超过了RS-232C。
尽管如此,RS-232C仍然具有非常广泛的应用,在相对长的一段时间里,难以被USB等接口取代。RS-232C接口(又称EIA RS-232C),全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"。
3.2.2 端口间连接
 RS-232C定义为数据通信设备(DCE)和数据终端设备(DTE)之间的互连,实现上,到现在为止,究竟一个设备属于DCE还是属于DTE已经没有明显的界限,PC即可作为DCE,又可作为DTE。
两串口互连连接方法主要有二种:
一种方法是数据的发送和接收由软件控制,不进行硬件握手,其连接方法如图3-2(最常用DB9连接示意)和表6(DB9、DB25三线连接表),真正需要互相连接的是RXD、TXD和GND;
 
图5 无硬件握手时两串口连接
Fig.5 Two serial port connection without hardware handshaking

表6 DB9、DB25三线连接
        Table 6 DB9 and DB25 three lines connection
9针-9针            5针-25针                 29针-25针
2    3                3   2                       2    2
3    2                2   3                       3    3转贴于 酷文网-论文下载中心 http://www.coolwen.net


共9页: 上一页 [1] [2] [3] [4] 5 [6] [7] [8] [9] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号