第19卷第2期新乡师范高等专科学报
2005年3月
JOURNALOFXINXIANGTEACHERSCOLLEGE
Vol.19,NoMAR.2005.2
VC++.
NET中基于MSComm的
通信 软件设计与实现
许利军1,王俊江2
(1.新乡师范高等专科现代教育技术部,河南新乡453000;2.中国电波传播研究所,河南新乡453000)
摘要:VC++.NET中的MSComm控件提供了一系列标准通讯命令,它允许建立串口连接,向所连接的其他通讯设备发送命令、进行数据交换,并监视和响应通讯过程中可能发生的各种错误和事件。讨论了VC++.NET中的核心的控制
系统中。
MSComm控件的功能特征,给出了运用此控件开发通讯软件的步骤,并且成功地运用到自行开发的以MCS251为
关键词:VC++.NET;MSComm;串行通讯;控制系统
0引言
中,串口通讯是十分关键的技术。串行通讯能够减少通讯线路费用,避免众多连线间的信号干扰,充分保证通讯的可靠性。尤其是在单片机控制应用系统中,经常需要通过RS2232串行口与微机进行通信。目前在各种操作系统中,Microsoft的Windows最为常见,以往在Windows平台上的串行通信多使用其提供的API函数来实现,这种方法使用起来需要许多底层设置,因而较为繁琐,并且难以理解。Microsoft推出的ActiveX技术提供了另外一种实现串行通信的方法。这种方法不仅相对较为简单,而且非常实用。本文讨论了串行通信ActiveX控件MSComm的使用方法、实现串行控制的过程。1MSComm控件的功能特性MSComm控件,即MicrosoftCommunicationControl,是Microsoft为简化Windows下串行通信编程而提供的ActiveX控件。它提供了一系列标准通信命令的使用接口,利用它可以建立与串口的连接,并可以通过串口连接到其他通信设备(如调制解
60
3
中图分类号:TP311.1文献标识码:B文章编号:100827613(2005)0220060203
在
计算机网络、多微机系统和单片机应用系统
调器),发出命令、交换数据以及监视和响应串行连接中发生的事件和错误。MSComm控件提供了两种[1](1)事件驱动方式。处理通信的方式:当通信事件发生时,MSComm控件会触发OnComm事件,调用者可以捕获该事件,通过检查其CommEvent属性便可确认发生的是哪种事件或错误,从而进行相应的(处理。这种方法的优点是响应及时、可靠性高。2)
查询方式。在
程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用程序较小,这种方法可能是可取的,但如果数据量大,就会耗费资源并且效率较低。本文采用事件驱动方式。利用通讯控件编制通讯程序,关键是要准确理解并设置通讯控件的属性,MSComm控件提供了许多关于通讯控件方面的属性,本文给出几个较为重要和
常用的属性:(1)CommPort通信端口号;(2)Settings以字符串形式表示的波特率、奇偶校(3)PortOpen通信端口的状态,打开或验、数据位;是关闭;(4)Input接收数据;(5)Output发送数据;(6)InputMode接收数据的类型:0为文本,1为二进
3
收稿日期:20052012111作者简介:许利军(19782),男,河南清丰人,新乡师范高等专科现代教育技术部教师,从事网络开发应用方面的研究
工作。
第2期许利军,王俊江:VC++.NET中基于MSComm的通信软件设计与实现