在打开通信设备句柄后,通常要对串口进行初始化工作(即配置参数如波特率、数据位数、停止位数、奇偶校验以及握手和流控协议等),配置串口通过改变数据结构——设备控制块DCB(Device Control Block)来实现。结构DCB有近30个数据成员,对于采用3线方式的串行通信来说,只要设置好波特率、数据位、停止位、校验位等几个关键参数就可以。
Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体地说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法:主要是在comEvReceive(接收到数据)事件发生时响应并获取缓冲区的数据。一是查询法:在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性以检查执行结果或者检查某一事件是否发生(Microsoft提供的用于串口操作的控件Mscomm共有27个属性)。
以下介绍在VC集成开发环境下对该控件编程的步骤。
(1)在当前的Workspace中插入MSComm控件
在VC环境下,创建基于对话框的MFC应用程序,在设置项目选项时必须选上ActiveX Controls,其他的按照缺省设置。然后进行以下步骤:Project菜单→Add to Project→Components and Controls→Registered ActiveX Controls→选择Components: Microsoft Communications Control,version 6.0插入到当前的Workspace中。