2.4串口通信的几个重要指标
串口通信最重要的参数是波特率、数据位、停止位、和奇偶校验[10]:
(1)波特率:在串口通信中,传输速率以每秒传送的字节(B/s)数来表示,而串行通信中,在基波传输的情况下用每秒传送的位数(bit/s)来表示数据传输速率。
(2)数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
(3)停止位:指单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,适用停止数位越多时钟同步容忍度越大,但是数据传输率同时也越慢。
(4)奇偶校验位:是一种简单的检错方式在串口通信中。有四种检错方式:偶、奇、高和低。
3.实现串口应用程序
3.1 VC++6.0介绍
Visual C++6.0是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境。与Visual Basic、Visual Foxpro、Visual J++等其它软件构成了Visual Studio程序软件设计包。Developer Studio是一个通用的应用程序集成开发环境,其中包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用Visual Studio,可以完成创建、调试、修改应用程序等的各种操作[11]。
VC++6.0提供面向对象技术的支持,它能够帮助使用MFC库的用户自动生成一个具有图形界面的应用程序框架。用户只需在该框架的适当部分添加、扩充代码就可以得到一个满意的应用程序[12]。
VC++6.0除了包含文本编辑器,C/C++混合编译器,连接器和调试器外,还提供了功能强大的资源编辑器和图形编辑器,利用“所见即所得”的方式完成程序界面的设计,大大减轻程序设计的劳动强度,提高程序设计的效率[13]。
VC++的功能强大,用途广泛,不仅可以编写普通的应用程序,还能很好地进行系统软件设计及通信软件的开发[14]。
3.2 VC++的Microsoft Communications Control控件
Microsoft公司在Windows中提供了一个串口通讯控制软件,用它,我们可以很简单的利用串口进行通讯。在使用它之前,应将控件加在应用程序的对话框上。然后再用ClassWizard 生成相应的对象。现在我们可以使用它了[15]。
该控件有很多自己的属性,可以通过它的属性窗口来设置,也可以用程序设置。用程序设置,更灵活。以下介绍设置中遇到的几个相关函数[16]。
SetCommPort:指定使用的串口。
GetCommPort:得到当前使用的串口。
SetSettings:指定串口的参数。一般设为默认参数“9600,N,8,1”。这样方便与其他串口进行通讯。
GetSettings:取得串口参数。
SetPortOpen:打开或关闭串口,当一个程序打开串口时,另外的程序将无法使用该串口。
GetPortOpen:取得串口状态。
GetInBufferCount:输入缓冲区中接受到的字符数。
SetInPutLen:一次读取输入缓冲区的字符数。设置为0时,程序将读取缓冲区的全部字符。
GetInPut:读取输入缓冲区。
GetOutBufferCount:输出缓冲区中待发送的字符数。
SetOutPut:写入输出缓冲区。
4.使用MSComm控件编程过程
4.1建立工程
首先,打开VC++6.0建立基于对话框的MFC应用程序zhaixubo,然后点击OK,下个界面点击finish。 用VC++实现串口通信服务(3):http://www.751com.cn/tongxin/lunwen_11703.html