毕业论文 - 基于C++的RS232通信协议模拟终端

更新时间:2024-06-05 18:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于C++的RS232通信协议模拟终端

Analog Terminal The RS232 Communication

Protocol Based On C++

I

摘 要

随着科技的迅猛发展,通信技术已经成为社会经济、环境、生活、工作、学习不可缺少的一部分。通信的方式多种多样,以何种方式实现通信主要取决于通信设备。在工业控制系统和实验室中,由于串行通信具有实现简单、使用灵活方便等优点,串行通信是计算机与外部设备进行数据通信时经常使用的方式之一。

围绕串行通信技术,本文主要介绍了串行通信接口——RS232标准串口,阐述了RS232串行通信基本原理和CRC校验,通过VC界面编程实现串行通信。传输过程中通过CRC对数据进行校验。

在研究RS232串行通信原理中,主要介绍了RS232标准协议、串口以及串口通信原理。详细的分析了几种主要的通信参数。按照其工作原理及RS232串口的标准协议最终采用串行全双工的方式实现其通信,本文中的接口使用的是计算机上的USB口。

在软件实现方面,本设计在比较了多种方法之后,最终选择了基于C++的MFC应用程序。利用 MSComm ActiveX 串行通信控件来实现串行通信。文中详细地介绍了VC下的Windows平台先进的 ActiveX 控件技术,即MSComm控件等。最终实现了两台PC间的串行通信。

串行通信以其成本低、结构简单等优点被人们广泛应用。用RS-232协议实现两台PC机间的串行通信为以后实现更加复杂的设备间通信奠定了基础。

关键词:RS232标准;串行通信;C++;CRC校验

II

Abstract

With the rapid development of science and technology, communication technology has become an indispensable part of social economy,environment,living and learning. There are many kinds of communication modes.The selection of communication mode mainly depends on the communication equipment.In industrial control systems and laboratory.Serial communication is widely used in computer and external equipment due to the simple and flexible advantage.

Around serial communication technology, this paper mainly introduces the serial communication interface - RS232 serial port, and expounds the basic principle of RS232 serial communication and CRC check.Finally, realize serial communication through VC programming. During the process of transmission through the CRC to check the data.

In the study of RS232 serial communication principle, this design mainly introduces the principle of serial communication, serial port and RS232 protocol,and analyzes communication parameters in detail.Considering RS232 serial port and working principle,this design adopted to serial full-duplex mode to realize communication.In this article ,the interface is the USB port on the PC.

In the aspect of software realization,this design select the MFC application program based on C++ after several methods are compared.To realize the serial communication by using MSComm ActiveX serial communication control.This article introduces the ActiveX control technology--MSComm control.Finally,the design realize serial communication between two computers.

Because of the advantages of low cost and simple structure,serial communication is widely used by people.Realization of serial communication between two PC machine is the foundation of realizing more complex communication.

Keywords: motor; RS232protocol; Serial Communications; C++; CRC Cyclic

Redundancy Check

III

目 录

摘 要 ................................................................................................................................... II Abstract .................................................................................................................................... III 第1章 绪论 .............................................................................................................................. 1

1.1 课题的研究意义 ......................................................................................................... 1 1.2 研究现状及发展趋势 ................................................................................................. 2

1.2.1 RS232串行通信的研究现状 ........................................................................... 2 1.2.2 RS232串行通信的发展趋势 ........................................................................... 2 1.3 本文主要的研究内容 ................................................................................................. 2 第2章串行通信基本原理 ........................................................................................................ 3

2.1 RS232通信协议 .......................................................................................................... 3

2.1.1 RS232标准 ....................................................................................................... 3 2.1.2 RS232接口 ....................................................................................................... 3 2.2 串行通信 ..................................................................................................................... 4

2.2.1 串行通信基本原理 .......................................................................................... 4 2.2.2 串行通信参数 .................................................................................................. 5 2.2.3 串行通信的分类 ...................................................................................................... 6 2.3 串口的调制 ................................................................................................................. 6

2.3.1 串口连接 .......................................................................................................... 6 2.3.2 串口调试 .......................................................................................................... 8 2.4 本章小结 ..................................................................................................................... 8 第3章 CRC校验 ..................................................................................................................... 9

3.1 CRC校验原理 ............................................................................................................. 9

3.1.1 CRC校验码的基本原理 .................................................................................. 9 3.1.2 CRC校验码权的形式 ...................................................................................... 9 3.2 CRC校验的实现 ....................................................................................................... 10 3.3本章小结 .................................................................................................................... 11 第4章 软件的实现及其测试 ................................................................................................ 12

4.1 开发工具概述 ........................................................................................................... 12

4.1.1 Windows编程与MFC ................................................................................... 12 4.1.2 串行通信控件MSComm .............................................................................. 12 4.2 程序的主要功能 ....................................................................................................... 13 4.3 程序运行平台 ........................................................................................................... 14

I

4.4详细设计 .................................................................................................................... 15

4.4.1 建立工程 ........................................................................................................ 15 4.4.2 界面功能实现 ................................................................................................ 16 4.4.3 模块分析 ........................................................................................................ 18 4.4.4 程序测试 ........................................................................................................ 28 4.5 本章小结 ................................................................................................................... 31 第5章 结论 ............................................................................................................................ 32 参 考 文 献 ............................................................................................................................ 33 致 谢 .................................................................................................. 错误!未定义书签。

II

第1章 绪论

1.1 课题的研究意义

在发展如此迅速的信息化时代,随着计算机的普及和信息技术的发展,形成了对信息的获取-传送-处理-利用的完整技术体系,并在此基础上形成了通信技术,它应用在生产、医疗、教育、生活等多种领域,成为现今社会生存和发展不可或缺的技术。

随着通信技术的不断创新和发展以及计算机网络和多微机系统的广泛应用,USB通信技术的发展如此迅速,尽管如此,然而串口通信技术以其实现简单、使用灵活方便、数据传输可靠等优点并未面临被淘汰,反而在通信领域中一直都被人们广泛的应用。它主要被广泛应用在工业控制生产和实验室等重要领域。

VC++是新一代面向对象的可视化开发工具,作为一个主流的开发平台一直深受编程爱好者的喜爱,提供了良好的界面设计资源,是当下图形开发的一个比较重要的技能和手段,Window图形界面编程就是VC++编程开发的经典展现之一。Windows图形界面编程下的MFC,全称是Microsoft Foundation Classes,它是Win32中的应用程序,目前Win32中基于VC++6.0的串口通信程序一般可以用两种方法实现:一是利用 MSComm ActiveX 串行通信控件;二是使用Windows API通信函数。其中Windows平台先进的 ActiveX 技术对串口编程不再需要处理繁琐的细节。利用已有的ActiveX控件技术,只需要编写少量的代码,就可以轻松高效地完成通信任务。这样做会给编程者省去很多的代码工作量。

伴随着科学技术的不断创新与现代化生产过程中智能化、自动化程度的不断提高,越来越多的综合过程和控制系统需要开发自身的监测控制平台与数据处理采集,利用Windows编程技术开发这样的应用程序时,其中要面临的最关键的问题是与外围监控设备连接与通信。与外围监控设备通信实际上是计算机与计算机或计算机与终端机之间的数据传递,它可以采用串行通信和并行通信两种通信方式。由于串行通信方式具有使用线路少、成本低、特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。所以现在大量的智能仪器、工控设备、实验研究设备或数据采集模块都带有RS232串行通讯接口,通过相应的通讯协议和串口通讯程序,可以将测试、采集的数据传输到上位工控机,以满足各种形式后续数据处理的要求。同时整个监控系统会根据系统运行情况通过串口向监控设备发送指令,调节设备的运行参数等使得生产过程平稳进行。所以研究RS232串行通信意义非常重大。

1.2 研究现状及发展趋势

1.2.1 RS232串行通信的研究现状

目前,串行通信在各类领域中都得到了广泛的应用,同时它还具有较高的性价比和传输可靠性等优点[1]。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。串行通信中的串口应用始于1960年,然而RS-232的初始版本于1969年才得到认证,认证的版本号为RS-232C,在这之前有RS-232A、RS-232B这两个版本。RS-232标准主要适用于通信设备,它主要采取不平衡传输方法,即所谓的单端通信。近年来,串行技术与连接设备都得到了很大的发展,串口设备在设备电缆、工业控制和软件应用程序中得到了大量的应用,毫无疑问,串行连接技术仍然是工商业、医疗、教育和实验室等领域中所应用的广泛标志。 1.2.2 RS232串行通信的发展趋势

RS-232协议自1960年形成,1969年得到认证,一直到如今的广泛使用,始终随着各种领域应用需求的不断变化而稳步发展。未来RS-232串口通信仍将在低成本、设计简单的产品中继续发挥着重要作用。低供电电压和高数据率等都将成为未来发展中新设计的普遍要求。我们坚信RS-232一定会继续随着各种外围设备的不断发展而提高,同时也将继续保持通信领域中应用最为广泛这一地位的。

1.3 本文主要的研究内容

本文主要通过RS232标准串口协议,使用VC++编程语言实现串行通信,最终完成模拟终端的调试与仿真。在设计过程中,我通过查阅大量相关书籍和资料,研究学习了RS232标准协议和VC++编程语言下的MFC界面编程,学习串行通信相关知识,通过编程软件的仿真完成了基于C++的RS232通信协议的模拟终端。

具体研究内容如下:

了解RS232协议,串口和串行通信原理。

分析RS232串行通信的基本原理,并通过串口调试助手调通串口以方便接下来的操作。

了解CRC校验,掌握CRC校验基本原理及应用。

在VC++高级语言中,利用Windows下的MSComm ActiveX控件,实现两台计算机间的通信测试与仿真。

第2章串行通信基本原理

2.1 RS232通信协议

2.1.1 RS232标准

RS-232标准(协议)(ANSI/EIA-232标准)的全称是EIA-RS-232C标准,其中EIA代表美国电子工业协会,RS代表推荐标准,232是标识号,C代表RS-232的修改次数。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议[2]。

RS232协议一共有25条信号线,其中包括一个主通道和一个辅助通道,大多数情况下主要使用的是主通道,尽管有如此多的信号线,但是对于一般双工通信,仅需要其中几条信号线就可实现数据的传送,如一条发送线、一条接收线和一条地线。它适合于数据传输速率在0~20000b/s范围内的通信,即为每秒50、70、100、150、300、600、1200、2400、4800、9600、19200波特。这个标准对串行通信接口的有关问题都作了明确规定。由于通信设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用,例如在IBM PC机上的COM1、COM2接口,就是RS-232C接口。它规定连接电缆、机械、电气特性、信号功能及传送过程等。同时,由于RS-232标准具有连线简单、通讯距离长等优点,目前也广泛应用于微型计算机系统、工控机和大型设备系统中。 2.1.2 RS232接口

RS232标准是按负逻辑定义的,它的“1”电平在-5~-15 V之间,“0”电平在+5~+15 V之间。RS232接口是标准串行接口,其通讯距离小于15 m,它的传输速率小于20 kb/s。RS232串行接口属于个人计算机(PC)及电信应用领域中最为成功的串行数据标准。是目前PC机与通信工业中应用最广泛的一种串行接口。现在的计算机一般至少有两个串行口COM1和COM2,新一代的计算机主要以9引脚的D型口接出所有的RS232通信信号及控制线(有的计算机的串口为25引脚)。在RS232的通讯标准中是以一个25针的接口来定义的,25针的接口在早期的计算机如PC或XT机型上广泛使用,但在AT机以后的机型上,实际均采用了9针的简化版接口应用,现在所说的RS-232通讯均默认为9针的接口。现在大多数个人计算机几乎都没有串口,大多采用USB接口,所以

[3]

要实现个人计算机与外围设备进行通信大多采用RS-232转USB接口。RS-232 9针通讯的接口图如图2-1所示 。

图2-1 9针通讯接口

2.2 串行通信

2.2.1 串行通信基本原理

两个设备之间交换数据的过程我们称之为通信[4]。从同时传输的数据位数来分通信方式可以分为串行通信(Serial)和并行通信(Parrel)。并行通信中所传送数据的各位同时发送或接收。串行通信中所传送数据的各位按顺序一位一位地发送或接收。两种基本通信方式如图2-2所示:

吗 并行通信 串行通信

图2-2 两种基本的通信方式

从上面的图中可以看到,并行通信成本高,并须使用多条通信线,而串行通信只需使用两条通信线就可以完成两个设备间的数据交换,大大降低了通信成本,串行通信又以其串行线间的干扰小得到了广泛的应用。

串行通信大多数用于Windows开发的应用程序与外围数据源设备之间的数据交换。串行通信是通过串行端口实现的[5][6]。串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,数据格

计算机1 计算机或外设2 GND 计算机1 计算机或外设2 GND GND GND

式由字节数据转换为串行的位(byte)。在接收数据时,数据格式由串行的位(bit)被转换为字节数据。 2.2.2 串行通信参数

串行通信在数据交换过程中,要对几个重要的通信参数进行设置,其中包括波特率、数据位、停止位、奇偶校验位等。

(1)波特率

所谓波特率就是每秒中传送的二进制位数,其单位是bps(bits per second),用来描述数据的传送速率,是衡量串行通信数据传输速度快慢的重要指标。国际上对波特率规定了一个标准系列:110bps、300bps、600bps、1200bps、1800bps、2400bps、4800bps、9600bps、14.4Kbps、28.8Kbps、33.6Kbps、56Kbps。例如:9600bps,是指每秒传送数据9600位,其中包含字符的数位和其它必须的数位。串行接口电路的接收波特率和发送的波特率可以设置,要求接收方的接收波特率必须与发送方的发送波特率是一致的。在串行通信中,通信线上所传输的字符数据(代码)是逐位传送的,一个字符由若干位组成,所以每秒钟所传输的波特率和字符数(字符速率)是完全不同的。有时也用“位周期”来表示传输速率,位周期是波特率的倒数。

(2)数据位

数据位是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于传送的信息。数据位通常为5-8位,它紧跟在起始位之后,是被传送字符的有效数据位。传送时先传送字符的低位,后传送字符的高位。数据位的位数可以有硬件或软件设备进行设置,以满足设备间数据交换的需要。

(3)停止位

停止位一般为1、1.5和2位,用于表示单个包的最后一位。停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会,因为数据是在传输线上定时的,并且每个设备都有其自己的时钟,很可能在通信中要进行数据交换的两台设备间出现小小的不同步,设置停止位就是为了避免其中的小小的不同步。停止位的位数的设置可以由设备的软件设置,停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率相应地也会越慢。

(4)奇偶校验位

在串行通信中奇偶校验是一种简单的检错方式,奇偶校验位仅占一位,用于进行奇校验和偶校验,同时也可以无校验位。对于奇校验和偶校验,串口会设置校验位,是数据位后面的一位,用一个值保证传输的数据有偶个或者奇个逻辑高

位。例如,如果数据是001,那么对于奇校验,校验位是0,。如果是偶校验,校验位是1。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者传输和接收数据是否发生了不同步。

2.2.3 串行通信的分类

串行通信又可以分为同步串行通信和异步串行通信两类。

同步通信是一种在发送端发送一个抑制载波的双边带信号,而在接收端恢复载波,再进行检波的通信方式。是按照软件识别同步字符来实现数据的发送和接收。它是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。信息中含有若干个数据字符。 它们均由数据字符、CRC即同步字符和校验字符组成。因为恢复的载波与被接收的信号载波同频同相,故取名为同步通信,也称抑制载波双边带通信。

异步通信数据通常以字符或者字节为单位组成字符帧传送,字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。异步通信通常有两个非常重要的指标:即字符帧格式和波特率。发送端和接收端可以由各自的时钟源来控制数据的发送和接收,这两个时钟源彼此独立,互不同步,接收端检测到传输线上发送过来的低电平逻辑\(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕优点,其优点就是它的通信设备简单、便宜。

[2]。异步通信有

自己的的缺点,其缺点是它在通信时的传输效率较低。当然它也具有自己独特的

2.3 串口的调制

2.3.1 串口连接

现在大多数计算机外用接口都是USB口,外用接口很少有串口的,并且现在的个人计算机的串口大多都是简型的9针串口。所以要想通过串行通信实现与外围设备数据交换,必须用USB转RS-232 9针串口转换线。9芯管脚图如图 2-3 所示。

图2-3 9芯管脚图

表 2-1 9针管脚各引脚名称功能图

九针串口

针号 1 2 3 4 5 6 7 8 9

缩写 DCD RXD TXD DTR GND DSR RTS CTS DELL

功能说明 功能说明 接收数据 发送数据 数据终端准备

信号地 数据设备准备好

请求发送 请求发送 振铃指示

信号来源 调制解调器 调制解调器

PC PC 调制解调器

PC 调制解调器 调制解调器

目前,市场上使用的串口有9针管脚的还有25针管脚的。在RS-232的通讯标准中是以一个25针的接口来定义的,并且在早期的计算机中,如PC机或XT机型上得到了广泛地使用,但是在AT机以后的机型上,实际上均采用了9针管脚的简化版本应用,现在所说的RS-232通讯均默认为9针的接口。图2-3显示了9针通讯的接口管脚,9针管脚的串口各引脚名称、功能和信号来源各不相同。表 2-1说明九针管脚的串口各引脚的名称,功能说明和信号源等。

由表 2-1 可知要想实现两台个人计算机间的数据交换,可以将两个USB转RS-232线的接口头的2、3引脚交叉对接,两个5脚相接即可,具体接法如图2-4所示,然后再讲两个USB接头与两台电脑相连。

图2-4 USB转RS232线的连接图

2.3.2 串口调试

实现个人计算机与外围设备间的串行通信必须将个人计算机上的串口调通,验证一下个人计算机上的串口是否好用。这就需要用到串口调试小助手。首先将一根USB转RS-232转换线的2、3引脚短接,然后将带有“驱动程序”的光盘放入个人计算机中,安装并运行与自己计算机相匹配的驱动程序,接着将转换线的USB端插入个人计算机的USB口,即完成了初步的安装。打开设备管理器,看一下所插入的转换线占的是哪个串口,因为在接下来调试串口要用到。

串口调试助手是一个专门用来调试串口程序的功能软件,要想测试串口是否可用,应先打开软件,选择串口号,打开串口,在发送区输入内容,点击发送按钮,若在接收区中有所发送的内容,则证明此串口可用。

2.4 本章小结

本章从原理上介绍了串行通信的基本原理,详细的阐述了RS232标准协议接口和与串行通信相关的一些知识。介绍了通信参数与串行通信的分类。为下文编写Windows应用程序实现两台PC机进行数据交换提供了基础。

第3章 CRC校验

3.1 CRC校验原理

3.1.1 CRC校验码的基本原理

在早期的通信中,由于通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),这样不可靠的通信就会带来“确认信息”的麻烦,造成一些事情的延误等。为了避免这一弊端,在进行数据交换,通信的过程中,对通信的可靠性检查就需要校验,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复

[25]。

如早期一样目前在通信系统的数据传输过程中,由于信道中各种复杂因素的影响,使传输的信号受到干扰,造成传输过程中误码的出现。接收方为了检查所接收的数据是否有误码,可采用多种检测方法。差错控制编码是目前数据传输过程中普遍采用的一种提高数据通信可靠性的方法,而CRC是一种在实际通信中应用很广泛的差错控制编码,具有很强的检错能力。

CRC(Cyclic Redundancy Check)循环冗余校验码是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC循环冗余校验码的基本原理是任意一个由二进制位串组成的代码都可以和一个系数仅为?0?和?1?取值的多项式一一对应。例如:代码101011对应的多项式为

X5?X3?X?1,而多项式为X6?X5?X2?1对应的代码1100101。CRC校验

码是在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。

CRC校验码的生成借助于多项式除法,其余数为校验字段。其中发送方发出传输字段,传输字段由两部分组成的,分别为信息字段和校验字段。接收方使用相同的生成码进行校验,若接收到的字段或生成码(二进制除法)如果能够除尽,则说明在通信过程中,数据交换期间未受到其他因素的干扰,消息收发成功。 3.1.2 CRC校验码权的形式

CRC校验码有很多种权的行式,使用哪一种形式是根据通信双方共同制定的“规则”而定的,其中各种常用权的形式如下所示:

CRC8?X8?X5?X4?1 (3-1)

CRC?CCITT?X16?X12?X5?1 (3-2)

CRC16?X16?X15?X5?1 (3-3)

CRC12?X12?X11?X3?X2?1 (3-4)

CRC32?X32?X26?X23?X22?X16?X12?X11?X10?

X8?X7?X5?X4?X2?X?1 (3-5)

以其中CRC-CCITT形式为例。图 3-1说明了 CRC 校验中 CRC 值是如何计算出来的,体现的多项式正是式(3-5)。从把数据移位开始计算,将数据位(从最低的数据位开始)逐位移入反向耦合移位寄存器。当所有数据位都这样操作后,计算结束。此时,16 位移位寄存器中的内容就是 CRC 码。图3-1中X

1216代表 Bit5,X 代表 Bit12,1 是代表 Bit0,X比较特别,是指移位寄存器移入的数据。

5

图3-1 生成CRC-CCITT的移位寄存器的作用原理

3.2 CRC校验的实现

实现CRC校验有很多种算法和方式,最基本的算法应该是按位计算了,这个方法可以适用于所有长度的数据校验,是最为灵活的,但由于是按位计算,其效率并不是最迅速、最优的,只适用于对速度不敏感的场合。还有一种是按照字节计算CRC校验码,按字节校验是每次计算8位数据,多是基于查表的算法,首先要准备一个表,一共256项。在使用的时候,把计算出来的校验值放在最后两个字节里,将其发送出去,接收端对所有的数据进行相同的校验,如校验值为

0我们则认为其数据没有出错。这个是按高位到低位的发送顺序时使用的校验方法。

3.3本章小结

本章介绍了通信中最常使用的校验方法,即CRC校验。分析了CRC校验原理、算法形式和算法的实现。并通过CRC校验实现通信中的检错。

第4章 软件的实现及其测试

4.1 开发工具概述

4.1.1 Windows编程与MFC

Windows编程大致有两种方法,一种是Windows C方向,即SDK方向,调用Win 32 API函数,主要是利用C语言来实现软件的功能与编程;另外一种方法是C++对SDK函数进行包装,如VC的MFC(微软基础类库),BOB的OWL等。其中使用MFC直接编写提供大量预先编好的类和支持代码或使用MFC和向导(Wizards)编写,用AppWizard来生成Windows应用程序框架。

本次软件程序设计功能的实现主要利用Windows编程中MFC(利用C++语言)。MFC提供了构造Windows应用程序的框架,它不仅为应用程序建立标准的结构,还为其提供了标准的图形用户界面如菜单栏、工具栏、状态栏等,开发人员只需要在此基础上添加针对特定应用的代码即可。使用此应用程序框架有很多优点,如其应用程序代码小,运行速度快,并且此应用程序提供的工具也降低了编码的难度等。

Windows应用程序的框架主要有两种类型,一种是基于对话框的应用程序框架,另外一种是基于文档、视图结构的应用程序框架。平大家所见到的大多数Windows应用程序均属于这两种框架。

MFC的全称是Microsoft Foundation Classes。是微软把Windows API 进行封装的类库,该类库以层次结构组织起来,其中封装了大部分Windows API函数和Windows控件[9]。1989年微软公司成立Application Framework技术团队,名为AFX小组,用以开发C++面向对象工具给Windows应用程序开发人员使用。启用MFC编码可以使Windows程序员能够利用C++面向对象的思想进行编程,用好的类作为标准,减少代码的编写量。 4.1.2 串行通信控件MSComm

目前,以Win 32 下的MFC应用程序为主要框架,基于VC++的常用串行通信编程一般可以用两种方法实现:一种是使用Windows API通信函数。虽然在Windows下Win32API提供了使用文件操作方式的函数进行串口操作的方法,但是在编程实现上还是比较复杂。其余一种是利用MSComm ActiveX 串行通信控件。Windows平台先进的ActiveX技术利用已有的MSComm ActiveX控件,只

需要编写少量的代码,就可以轻松高效地完成任务,使得对串口编程不再需要处理烦琐的细节。这样程序员就不需要花费大量时间去了解复杂的API函数,只需要利用MSComm控件就可实现串口编程。所以,本次实现两台PC间的通信使用的就是MSComm控件。

4.2 程序的主要功能

实现两台PC机之间的通信的应用程序,主要实现了密码登陆、参设设置、参数显示、打开串口、关闭串口、数据发送、数据接收等功能。主要功能框图如图4-1所示。

图4-1 主要功能框图

应用程序主要实现的功能如图4-1所示的主要功能框图,此应用程序的总体程序流程图如图4-2所示。

登录验证是否正确

主函数 密码登录参数设置打开串口关闭串口接收数据发送数据 调用初始化程序 登录界面 N 开始

本文来源:https://www.bwwdw.com/article/4eh6.html

Top