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