在VC++中利用ActiveX控件开发串行通信程序13975.pdf
《在VC++中利用ActiveX控件开发串行通信程序13975.pdf》由会员分享,可在线阅读,更多相关《在VC++中利用ActiveX控件开发串行通信程序13975.pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在 VC+中利用 ActiveX 控件开发串行通信程序 摘 要:探讨在使用 Visual C+编程时利用 Microsoft Communications Control 控件编写串行通信程序的方法,并给出了例程,具有一定的实用意义。关键词:Visual C+串行通信 ActiveX 在开发微机控制系统的过程中,我们经常需要通过 RS-232 串行接口与外部设备进行通信。例如分级控制系统中上位机与下位机的数据交换以及数据采集系统中计算机与数字仪表的通信等。在 DOS 时代,编写串行通信程序是一件相当复杂的工作,程序员需要具备相当的硬件知识,对可编程串行通信接口芯片的内部寄存器定义、工作方式、指
2、令字等相关内容有所了解,才有可能着手编写程序,大量的时间和精力都花在了如何与硬件打交道上,而不是花在我们的主要目的获取与处理数据上;在 Windows 下,Win32API 提供了使用CreateFile/WriteFile 等文件 I/O 函数进行串行口操作的方法,但是在实现上仍然是相当烦琐的。幸运的是,Windows 平台先进的 ActiveX 技术使我们在对串行口编程时不再需要处理烦琐的细节。利用已有的 ActiveX 控件,我们只需要编写少量的代码,就可以轻松高效地完成任务。本文以 Windows 98 下用 Visual C+6.0 开发 PT650C 秤重显示器的通信模块为例,探讨
3、了使用 Microsoft Communications Control 控件进行串行通信的方法。1 ActiveX 控件介绍 ActiveX 是 Windows 下进行应用程序开发的崭新技术,它的核心内容是组件对象模型COM(Component Object Model)。ActiveX 控件包括一系列的属性、方法和事件,使用 ActiveX控件的应用程序和 ActiveX 控件之间的工作方式是客户服务器方式,即应用程序通过ActiveX 控件提供的接口来访问 ActiveX 控件的功能。Microsoft Communications Control(以下简称 MSComm)是 Micro
4、soft 公司提供的简化Windows 下串行通信编程的 ActiveX 控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Eventdriven)方法,一是查询法。1.1 事件驱动法 在使用事件驱动法设计程序时,每当有新字符到达,或端口状态改变,或发生错误时,MSComm 控件将解发 OnComm 事件,而应用程序在捕获该事件后,通过检查 MSComm 控件的 CommEvent 属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。1.2 查询法 这种方法适合于较小的应用程序。在这种情况下
5、,每当应用程序执行完某一串行口操作后,将不断检查 MSComm 控件的 CommEvent 属性以检查执行结果或者检查某一事件是否发生。例如,当程序向串行设备发送了某个命令后,可能只是在等待收到一个特定的响应字符串,而不是对收到的每一个字符都立刻响应并处理。MSComm 控件有许多重要的属性,其中首要的几个如表 1 所示。表 1 属性 说明 CommPort 设置/获取控件对应的串行口 Settings 设置/获取波特率、校验方式、数据位、停止位 PortOpen 打开/关闭通信口 Input 读取数据 Output 发送数据 2 编程实现 在使用 MSComm 控件开发 PT650C 秤重显
6、示器通信程序时,采用了事件驱动法,主要是在 comEvReceive(接收到数据)事件发生时响应并获取缓冲区中的数据。以下具体介绍实现方法。打开 Visual C+6.0 集成开发环境,创建一个基于对话框的 MFC 应用程序项目,命名为MyCOM,记住在设置项目选项时必须选上 ActiveX Controls,其他的按照缺省设置。完成这一步后,选择菜单项 ProjectAdd to ProjectComponents and Controls,将弹出一个对话框以选择系统中已有的组件(Components)和控件(Controls)。选择Registered ActiveX Controls文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 利用 ActiveX 控件 开发 串行 通信 程序 13975
限制150内