visual c++在异步串行通信控制中的应用

visual c++在异步串行通信控制中的应用

ID:33159465

大小:59.50 KB

页数:6页

时间:2019-02-21

visual c++在异步串行通信控制中的应用_第1页
visual c++在异步串行通信控制中的应用_第2页
visual c++在异步串行通信控制中的应用_第3页
visual c++在异步串行通信控制中的应用_第4页
visual c++在异步串行通信控制中的应用_第5页
资源描述:

《visual c++在异步串行通信控制中的应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、VisualC++在异步串行通信控制中的应用邱红兵 韩峰  摘要:系统介绍了VisualC++实现异步串行通信的基本原理,分别讲述了用Windows函数库API函数实现和C运行时库的实现方法,以及在控制系统中的编程应用实例。  关键词:控制系统;串行通信;VisualC++应用  中图分类号:TP311.11    文献标识码:ATheVisualC++ApplicationinAsynchronousSerialCommunicationControlQIUHong-bing  HANfeng  Abst

2、ract:ThepaperisfocusontheprincipleofasynchronousserialcommunicationbyVisualC++,andtellsoftheirimplementmethodsusingAPIfunctioninWindowsfunctionwarehouseandCfunctionsingly.Thepaperalsoadducesprogramapplicationsampleincontrolsystem.  KeyWords:controlsystem;s

3、erialcommunication;VisualC++application1 引言  VisualC++是建立在Window95和WindowNT32位程序上的可视化编程环境,对于控制系统的可视化开发提供了极大的便利,但是对于计算机控制系统中数据采集、控制,用VisualC++实现的介绍却很少。基于此,介绍VisualC++在测控系统应用中的基本原理及应用,其中异步串行通信是关键。其基本构成是:下位机(单片机系统)完成信号检测、A/D转换和简单的控制功能,通过系统总线(如RS-232C)与上位机(PC机

4、)相连,进行监测、控制,形成主从式结构。2 工作原理  通过传感器检测得到被控信号及相关信号,经过放大、滤波处理形成有效信号,通过A/D转换形成数字信号,输入到单片机系统进行处理。其中单片机系统完成相应算法或控制功能;PC机主要完成监视、控制其下面的单片机系统,进行集中管理。它们之间的通信可通过RS-232C标准总线进行异步传输。系统结构如图1所示。图1 控制系统网络结构图3 VisualC++实现串行通信  VisualC++实现串行通信有几种方式可供选择,如利用计算机上的标准串行口进行,或自制专用卡插入

5、工控机的PCI总线的ISA扩展槽等。下面主要论述利用计算机上的标准串行口进行串行通信,可分为利用Windows函数库API函数和利用C运行时库实现。其中API函数主要以创建资源的形式进行串行通信,C运行时库采用类似C的方式进行。3.1 API函数实现  Windows应用程序要与标准串口通信,Windows函数库中提供了24个低级函数,这些函数可与外部设备的通信提供了基本的工具,文件输入和文件输出函数为通信资源句柄的打开、关闭以及执行读写操作提供了基本的接口,Win32API也包含一系列访问通信资源的通信函

6、数,具体工作过程如下:首先打开一个通信资源句柄CreateFile(),接着进行串行通信资源的配置(包括波特率、奇偶校验、停止位和数据位等信息),通过SetCommState()、GetCommState()进行修改和查询完成初始化设置;串行通信资源的读写通过ReadFile()、WriteFile()来完成收发数据,监视串行通信资源某些可能发生的事件可通过WaitCommEvent()来完成,向与某通信资源相关的设备驱动程序发送控制命令,使驱动程序执行特定任务。对于具体参数设置可参阅有关书籍。[1]3.2

7、 C运行时库实现  对于利用C运行时库实现串行通信在此将详细进行讨论。它与硬件密切相关,其核心器件是通用异步接收发送器(简称UART),并在机箱后部外引一个25脚(或15脚、9脚)的D型连接器作为数据终端设备(DTE)一侧,它通过异步通信电缆(RS-232)与另一侧数据通信设备(DCE)(MODEM或其它通信设备)相连。3.2.1 RS-232异步串行口连接  异步串行通信对应用接口极其敏感,常用的RS-232C接口有MODEM接口标准连接和零MODEM的非标准连接,但在实际应用中,并非需要全部控制信号线,

8、而且在某种场合下,还允许采取若干种非标准的连接方式,如图2所示。其中图2a主要适用于长距离串行通信,而图2b适用于短距离异步通信,无需MODEM这类DCE设备介入。图2 RS-232接口连接3.2.2 异步串行通信原理  利用C进行异步通信编程,其实是对UART内部寄存器的读出或写入操作。VC可利用-inp()/-outp()函数对其进行编程,它们的端口地址列于表1。表1 UART内部寄存器端口分配端口地址**指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。