1 / 42
文档名称:

VisualC++与串口通信.doc

格式:doc   大小:3,915KB   页数:42页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VisualC++与串口通信.doc

上传人:86979448 2017/12/1 文件大小:3.82 MB

下载得到文件列表

VisualC++与串口通信.doc

相关文档

文档介绍

文档介绍:Visual C++与串口通信
利用Visual C++编制串行通信程序有3种方法:一是采用Win32应用程序编程接口(API)所提供的串行通信函数,用SDK思路编写;m开发串行通信程序;三是采用C++的MFC思路,将Win32串口通信的API函数封装在一个类中实现串行通信。
在实践中,使用Visual C++m实现通信的方法比调用API动态链接库的方法更加方便、快捷,而且用较少的代码可以实现相同的功能,从而大大提高了编程效率,也减少了因编程不当而导致的系统不稳定。
采用C++的MFC思路的方法较为繁琐,不仅要了解Win32串行通信的API函数,还要掌握多线程编程,但控制灵活,既涉及到底层编程、纠错能力强,又有C++风格,一般多为专业C++开发人员所采用。
串行接口
串行接口一般包括RS232/422/485,其技术简单成熟,性能可靠,价格低廉,所要求的软硬件环境或条件都很低,广泛应用于计算机及相关领域,遍及调制解调器(Modem)、串行打印机、各种监控模块、PLC、摄像头云台、数控机床、单片机及相关智能设备,甚至路由器也不例外(通过串口设置参数)。
在计算机测控系统中,主控机一般采用PC或IPC,通过串口与测控模块相连,测控模块再连接相应的传感器和执行器,形成一个简单的双层结构的计算机测控系统。这种结构主要用于单独的中小型企业或部门,如果属于综合型企业或部门,如电力系统监控、高速公路监控和收费系统,则可以此为基础结构进行扩充。用集线器将众多双层监控系统连接起来,再用交换机将若干集线器连接起来,统一接上路由器,互联,形成一个庞大的计算机测控网络。由此可见,尽管现代计算机的新接口层出不穷,各种网络也日新月异,其规模也越来越大,但是,其基础结构却有不少是串行通信系统,串行通信也成了其中的核心技术。
串口通信的基本概念

终端与其他设备(例如,其他终端、计算机和外部设备)通过数据传输进行通信。数据传输可以通过两种方式进行,即并行通信和串行通信。
(1)并行通信。
在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。如果一组数据的各数据位在多条线上同时被传送,这种传输方式称为并行通信,如图5-1所示。
并行数据传送的特点是:各数据位同时传送,传送速度快、效率高,多用在实时、快速的场合。
并行传送的数据宽度可以是1~128位,甚至更宽,但是有多少数据位就需要多少根数据线,因此传送的成本高。在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内各插件板之间的数据传送都是并行的。
并行数据传送只适用于近距离的通信,通常小于30m。
图5-1 并行通信
(2)串行通信。
串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制的0、1为最小单位逐位进行传输,如图5-2所示。
图5-2 串行通信
串行数据传送的特点是:数据传送按位顺序进行,最少只需要一根传输线即可完成,节省传输线。与并行通信相比,串行通信还有较为显著的优点:传输距离长,可以从几米到几千米;在长距离内串行数据传送速率会比并行数据传送速率快;串行通信的通信时钟频率容易提高;串行通信的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行通信传送速度比并行通信慢得多,并行通信时间为T,则串行时间为NT。
正是由于串行通信的接线少、成本低,因此它在数据采集和控制系统中得到了广泛的应用,产品也多种多样。

通过单线传输信息是串行数据通信的基础。数据通常是在两个站(点对点)之间进行传送,按照数据流的方向可分成3种传送模式:单工、半双工和全双工。
(1)单工形式。
单工形式的数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接收端。信息只能沿一个方向传送,使用一根传输线,如图5-3所示。
单工形式一般用在只向一个方向传送数据的场合。例如,计算机与打印机之间的通信是单工形式,因为只有计算机向打印机传送数据,而没有相反的数据传送。还有在某些通信信道中,如单工无线发送等。
图5-3 单工形式
(2)半双工形式。
半双工通信使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收。在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式
既可以使用一条数据线,也可以使用两条数据线,如图5-4所示。
图5-4 半双工形式
半双工通信中每端需有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟。信息传输效率低些。但是对于像打印机这样单方向传输的外围设备,用半双工方式就能满足要求了,不必采用全双工方式,可节省一根传输线。
(3)全双工形式。
全双工数据通信分