欢迎来到天天文库
浏览记录
ID:36289508
大小:32.09 KB
页数:14页
时间:2019-05-08
《机器视觉之c 串口编程实例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C++串口编程实例在windows程序设计与开发过程中,特别是涉及到开发嵌入式软硬件系统时,往往会涉及到串口编程。网上以及一些书籍上讲解windows下的串口编程知识也挺多的,但我个人觉得,看完书上的知识点有时依然不知道该如何下手开始自己的程序设计和代码编写,许多知识如果能结合着详细的例子往往能够帮助我们学习得更快,所以,在此,我专门为串口编程初学者设计了一个详细的例子,供大家参考和学习。 下面我将自己用C++编写的串口通信的例子贴出来,其特点如下: 1.本例子使用了比较规范的软件设计方法,类的设计具有比较好的可扩展性和移植性、代码的注释采用doxgen支持的java
2、Doc风格。2.为了能方便初学者更快地了解和入门,几乎每一行代码都加上了详细的注释,对于注释中如果依然有不清楚的概念,相信你通过百度和google一定能找到答案。3.本例子设计的串口操作类可以直接移植到其他的工程中去,大家也可以根据自己的需要添加其他的接口。4.本例子只实现了串口数据的基本收发功能,其实为了保证串口数据传输的正确性,往往需要设计一些串口通信协议,协议的设计有待你自己完成,如果以后有时间,我也会尝试提供一种比较基本的串口通信协议设计案例给大家学习。5.关于本程序的验证方法,可以使用虚拟串口软件VSPM和串口调试助手进行程序的测试与验证,上述两个软件的使用方法请参考:
3、http://ticktick.blog.51cto.com/823160/285610 下面即为例子工程的三个文件,SerialPort.h、SerialPort.cpp、maincpp 附件中是工程文件,需要使用vs2008打开。 1.////////////////////////////////////////////////////////////////////////// 2./// COPYRIGHT NOTICE 3./// Copyright (c) 2009, 华中科技大学tickTick Group (版权声明) 4./// All rights
4、 reserved. 5./// 6./// @file SerialPort.h 7./// @brief 串口通信类头文件 8./// 9./// 本文件完成串口通信类的声明 1./// 2./// @version 1.0 3./// @author 卢俊 4./// @E-mail:lujun.hust@gmail.com 5./// @date 2010/03/19 6./// 7./// 修订说明: 8.//////////////////////////////////////////////////////////////////
5、//////// 9. 10.#ifndef SERIALPORT_H_ 11.#define SERIALPORT_H_ 12. 13.#include 14. 15./** 串口通信类 16. * 17. * 本类实现了对串口的基本操作 18. * 例如监听发到指定串口的数据、发送指定数据到串口 19. */ 20.class CSerialPort 21.{ 22.public: 23. CSerialPort(void); 24. ~CSerialPort(void); 25. 26.public: 27. 28.
6、 /** 初始化串口函数 29. * 30. * @param: UINT portNo 串口编号,默认值为1,即COM1,注意,尽量不要大于9 31. * @param: UINT baud 波特率,默认为9600 32. * @param: char parity 是否进行奇偶校验,'Y'表示需要奇偶校验,'N'表示不需要奇偶校验 33. * @param: UINT databits 数据位的个数,默认值为8个数据位 34. * @param: UINT stopsbits 停止位使用格式,默认值为1
7、 35. * @param: DWORD dwCommEvents 默认为EV_RXCHAR,即只要收发任意一个字符,则产生一个事件 36. * @return: bool 初始化是否成功 37. * @note: 在使用其他本类提供的函数前,请先调用本函数进行串口的初始化 38. * 本函数提供了一些常用的串口参数设置,若需要自行设置详细的DCB参数,可使用重载函数 39. * 本串口类
此文档下载收益归作者所有