VC实现串行通讯的三种途径

网友投稿 237 2022-11-09

VC实现串行通讯的三种途径

介绍了串行通讯的基本原理,以及在Win98,Win2000环境下实现串行通讯的三种方法,并给出了用Visual

++6.0编写的相应的应用程序。

关键词:VC,串行通讯,CserialPort类,Win API

1 串行通讯的基本原理

在Windows环境(Win98、Windows2000)下,串口是系统资源的一部分。应用程序要使用串口进行通讯,必须在使用之前向操作系统提出资源申请要求,即打开串口,通讯完成后必须释放资源,即关闭串口。

2 利用MSComm控件

2.1 简介MSComm控件

2.2 编程实现

在使用MSComm控件开发失重秤采样显示的程序中,采用了事件驱动法,这种方法是在接收到数据时触发事件并获取缓冲区的数据,下面是其实现程序:

第一步,利用MFC向导建立基于对话框的应用程序CcommDlg,在项目中插入Mscomm控件。

第三步,对话框建立响应MSComm事件的处理函数,每当MSComm控件触发事件时该函数将被调用。这个函数是用来处理串口消息事件的,每当串口接收到数据,就会产生一个串口接收数据的消息事件,我们在OnComm()函数中加入响应的处理代码就能实现自己想要的功能了:

第四步,发送数据,先加入一个处理函数,在事件中加入如下的程序,其中,m_strSend是所要发送的Cstring变量。在处理函数中加入:

3 利用CserialPort类进行串口通讯

3.1 选用CserialPort类

3.2 编程实现

同样,我们用开发失重秤采样显示的程序来说明怎样使用此类,数据通讯的过程也使用了起始标志*和结束标志$。

4 使用API通讯函数

4.1 用Win API函数对串口进行操作

在Win API函数中对串口进行操作不是对端口进行直接读写的,而是把所有的设备都看成是文件,从而进行相应的文件操作。

4.2 编程实现

第三步,启动一个辅助线程,用于串口事件的处理。这里用它来监视串口状态,主线程则可专心进行数据处理。

5 结束语

VC开发系统从底层到上层直接面向用户,而且具有强大的调试功能,因此,越来越多地被广大的程序员使用。过程控制领域中,和串口打交道是不可避免的,用这三种方式基本可以完成串口通讯的问题,但我们要根据不同的需要选用不同的方法,使我们的程序精巧且实用,这三种方法在我们的失重秤测控系统、齿轮箱扭矩监控系统和心电仪设备的初步研究中都一一得到了验证。

参考文献

1 David J.Kruglinski.Visual C++技术内幕.北京:清华大学出版社,1999

2 Kate Gregory.Visual C++开发使用手册.北京:机械工业出版社,1999

5 姚燕南,薛匀义.微机原理.西安:西安电子科技大学出版社,1998

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java操作redis设置第二天凌晨过期的解决方案
下一篇:云计算之OpenStack入门专业术语解释
相关文章

 发表评论

暂时没有评论,来抢沙发吧~