在VC_中开发串口类及串口通信应用程序.pdf

上传人:qwe****56 文档编号:74643458 上传时间:2023-02-27 格式:PDF 页数:4 大小:368.39KB
返回 下载 相关 举报
在VC_中开发串口类及串口通信应用程序.pdf_第1页
第1页 / 共4页
在VC_中开发串口类及串口通信应用程序.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《在VC_中开发串口类及串口通信应用程序.pdf》由会员分享,可在线阅读,更多相关《在VC_中开发串口类及串口通信应用程序.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 1994-2010 China Academic Journal Electronic Publishing House.All rights reserved.http:/第卷第期年月北京石油化工学院学报一在中开发串口类及串口通信应用程序任丽 红张晓燕北京石油化工学院自动化系,北京摘要介绍如何利用的底层函数开发串通信类,与控件相比,采用该串口通信类对串口设备操作时,能够在一定程度上避 免对串口设备的“屏蔽”,增 加对串操作的透明度,提高串口传输数据的可靠性,方便程序员对串口的编程。同时说明了如何利用该串类编写串行通信程序的方法口关键词函数通信控件串行通信中图法分类号问题的引人在控 制领域

2、的研发中,机与外围控制设备的通信方式有多种,如串行通信口、并行通信日、以太网需 要 网 卡支 持、通信口或自制微机接口卡。在数据通信速率不太高的情况,以上的通信方式中,最常见、最简单、最通用 的就 是 采用串行通信口与外围设备进行 通信。现在的机标准配置都具备两个串口鼠标不再 占用串而用口,因此利用串日资源来 开 发机与外围控制设备之间的通信,应 该是最力一便和快捷的。川通常的串日通信开发方 法 是 在、等环境 下,利用控件它 的 支持文 件,需 注 册的各 种属性、方法、事件进行编程。这种方法虽然能够较快速 开发 出串行通信应用 程序,但是与肖接运用的函数开发 出来的应用程序相比,前者的 叮

3、靠性和对串口操作的灵活了性不如后者。后者能够直接对串日访问,并比调试应用程序时更加方便和容易图。本文将运用的函数和类的基本思想把对串口的操作封装成一个串行通信类,这样可以提高代码的可重用性,同时减轻编程的复杂度。串口通信类的设计与应用在所开发的类 中,封装了对串访问和控制的成员函数及 重要的控制函数。关于类的定义和封 装原 理 在 此 不再赘述,下面就详细介绍如何利用函数开发串日通信类,并说明其主要成员函数的实现原理。串口通信类的编写原理在 下面类定义中,主要介绍该类 中关键的成员函数和成员变量编写的设计思想,以及 用该 串口通信类 实 现串行通信的方法。一,收稿于期一一 1994-2010

4、China Academic Journal Electronic Publishing House.All rights reserved.http:/第期任丽红等在中开发串口类及串口通信应用程序,一,一,一记关关关二,、构造函数主要负责初始化该类几个重要保护成员变量串口句 柄、串口收事件、发 事 件、关事 件、发 送缓冲区大小。析构函数用来释放占用的资源,包括串口资源、释放缓冲区。串口初始化函数函数 完成串口的初始化作,每次只能初始化一个 串口。其中,指调用该类的类 的对象接下的个参数分别是串口号、波特率、校验方式、数据位数、停止位个数定义串口的事 件,见类定义中函数原型所 示,其 缺省值

5、 为系统 定义的串口接收事件,如果 有字符到达设 定 的串口的接收缓冲区,则事件被触发,调用相关函数接收数据。这里用到 的主要函数包括、及、参 阅等。串日通 信线 程函数,它是类 的最重要 的函数。函数原型。该线程函数将作为工作线程被启动,一旦该线程被激活,它将负责监视 串日的接收字符事件、发送字符事件和关闭串口事件,并调度与上述 事件相关的处理函数,从而完成对串口的操作。为了防止这三个事件同时对 同一个对象串口实例 进行操作,它们之 间的同步方式采用排斥体。这里 用 到的主要函数 有、等。发 送函数。在发送函数中首 先 将 待 发送 的字 符放 到 定 义的 发 送 缓冲区中去,然 后调用将

6、发送事件变成。线程函数在循环 的调度中,当获知 串口写 事件是状态,则将发 送中的数据注意在发送之前必须将 串口写事件复位,即状态变为,否则会再次 引起发 送。主要 用 到及函数。接收函数,。当串的接收缓冲区有字符数据到达时,系统将会产生,同时事件将会置成有信号状态即。线程函数在循环的调度 中,当获知该事件处 于有信号状态,则调 用函数完成 字符数据 的接收。接收完毕后,如果串口的接收缓冲区没有数据到 达,线程函数 将会调用函数,系统将会设 置事件为一状态,复位 该 事 1994-2010 China Academic Journal Electronic Publishing House.A

7、ll rights reserved.http:/北京石油化工学院学报年第卷件。主 要用到、等函数。线程间通信方式,指主控 线程与串口通信线程之 间的信息传送方式,这里采用发送 消息的方法,即在接收字符函数中每收到 一个 字符都将发送在 头文件中定 义消 息,如一一,一。为 了在模式对话框 中避免发送消息 引起主线程的消息处理代码的重入,最好采用函数而不采用函数。串口通信类的用法上 面介绍 了类的几个 重要函数及其借助这些函数完成串行口通信的原理。下 面基于编程为例介绍其用法。在应用程序 中利 用类编写串口通信的程序,按如下步骤进行首先在应用 程序的工程中添加该类,同时要包含该类 的定义文件“

8、”,手工添加“”声明类的一 个 实例调用函数对 串口进行初始化,此时可以用 不 同的参数串口号、波特率、校验方式、数据位数、停止位个数来定义和初始化将要使用的串口的特征。用函数,启动串口通信线程函数即可立即对所定义的串口进行监听。发送数据,调用发送函数向指定的串口发送用 户数据,参数即为待发送的数据。一旦串口接收缓冲区有数据到达,则自动进入接收数据过程,利用自定义消息与主应用 程序进行通讯来接收,这样应用程序就可以对所接收的数据进行各种处理了。例程实现利用该 串口类编写的串口通信应用程序是全双工的,它可以用在任意两台机之间、机与下位机 提供标准的串口之间。参阅上 面给出的串口通信类 的用法,在

9、、环境下,利用编写 一个基于对话框的串口通讯测试应 用 程序源代码略,其界面如下 图,目的是用 于机之间进行串口通信的测试。测试结果表 明该应 用程序能够 在之间进行正确 的收 发数据,也可以通过自定义 的协议 在两台机之间互相发送文件。该测试程序经过多次测试,可靠性很好。图串口测试程序界面 1994-2010 China Academic Journal Electronic Publishing House.All rights reserved.http:/第期任丽红等在中开发串口类及串口通信应用程序结束语本文运用的函数和类的基本思想把对串口的操作封装成一个 串行通信类,采用该 串口通信类对串口设备操作时,能够在一定程度上避开对串口设备的“屏蔽”,增 加对串口操作的透明度,提高串口传输数据 的可靠性,方便程序 员对串口的编程。参考文献雷震甲,马玉详编著计算机网络西安 西安 电子科技大学 出版社,美著编程思想,刘 宗田,邢大红等译北京机械工业 出版社,一潘爱民,王国印技术内幕第四版北京 清华大学出版社,一邑,一阴舒,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁