MSComm 控件的 Modem 通讯
2006-07-21 11:16:03 来源:WEB开发网本文示例源代码或素材下载
MSComm 控件通过串行端口(serial port)传送和接收数据,为应用程序提供了串行通讯功能。而且在可视化编程盛行的今天,可以很方便的在Visual Basic(VB)、Visual C++(VC)、Delphi等语言及开发平台中应用。
MSComm 是 Microsoft 公司为简化Windows下串行端口编程而提供的ActiveX控件,它提供了一系列标准通讯命令的使用接口,为应用程序提供了通过串行口收发数据的简洁方法。处理数据的方式有事件驱动(Event-driver)、查询法(Inquire)两种。
1.事件驱动法
在使用事件驱动法设计程序时,每当有新字符到达、端口状态变化或发生错误时,MSComm控件将解发OnComm事件,而应用程序在捕获该事件后,通过检查MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。
2.查询法
这种方法适合于较小的应用程序。在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性以检查执行结果或者检查某一事件是否发生。例如,当程序向串行设备发送了某个命令后,可能只是在等待收到一个特定的响应字符串,而不是对收到的每一个字符都立刻响应并处理。
在VC中添加?MSComm控件非常简单。在打开的工程中,选择菜单Project->Add To Project->Component and Controls,在弹出的对话框“Component and Controls Gallery”中选中“Microsoft Communication Controls Version 6.0”?,单击“Insert”按钮即可完成添加MSComm控件操作。
本工程应用采用事件驱动法,具体实现如下:
一.串口信息配置
按上述方法完成在基于对话框的应用程序中添加MSComm控件操作并增加相应成员变量m_comm。在对话框模板上右键单击MSComm控件,选择Property菜单项,即可设置MSComm控件各项属性。在此调制解调器通讯的程序中,设置“Control”属性页中Handshaking项为“2-comRTS”,否则国内部分厂家modem不能正常通讯。其它接受缺省设置。
更多精彩
赞助商链接