当前位置:首页 > 通信技术 > 通信技术
[导读]串口通信在系统控制的范畴中一直占据着极其重要的地位,在规格上越来越完善,应用也越来越广泛,使用串行通信的方式可以达到系统控制的目的。以往,要实现计算机的串口通信需要做大量复杂的工作,如今,Visual Basic

串口通信在系统控制的范畴中一直占据着极其重要的地位,在规格上越来越完善,应用也越来越广泛,使用串行通信的方式可以达到系统控制的目的。以往,要实现计算机的串口通信需要做大量复杂的工作,如今,Visual Basic 6.0(VB 6.0)在开发可视化环境下的监控系统时有其独特的优势,VB 6.0提供了串行通信控件,可以轻松实现串口数据的交换。本文介绍了基于VB 6.0的ActiveX控件——Microsoft Communication(MSComm)通信控件,实现了PC机对气压测高系统的串行通讯功能,完成了对多台气压测高设备进行数据采集

1 气压测高测试系统的基本构成

气压测高系统的基本构成如图1所示,由PC机、气压测高基准站以及气压测高接收机三部分组成。PC机通过RS 232接口以及USB-RS 232接口与一个气压测高基准站和多个气压测高接收机相连接。气压测高基准站和每个气压测高接收机通过选用不同的串口端口来区分,这样PC机就可以对基准站和每个接收机进行通信,实现对气压测高基准站以及接收机的数据采集。


采集到的数据主要用于以下分析:

(1)分析不同地点的气压值、温度值以及大地高度值。

(2)比较同一地点不同气压测高接收机测量的气压值、温度值以及大地高度值。

2 气压测高接收机的简介

气压测高接收机采用主要器件为:瑞士Intersema公司生产的集成压阻式压力传感器和ADC接口的SMD混合集成模块——MS5534C,微控制器选用ATmega8L单片机。气压测高接收机的硬件示意图如图2所示。其工作流程为:气压测高基准站将气象资料(基准站的气压、温度和高度)发送给ATmega8L,同时,ATmega8L采集MS5534C测得的接收机所在位置的气压和温度,利用相关的公式,解算出当地的大地高度,并发送给PC机。



3 VB 6.0中MSComm通信控件

VB 6.0增加了面向对象程序设计功能,它不仅可以方便快捷地编制适用于数据处理、多媒体等方面的程序,并且提供了一个ActiveX控件——Microsoft Communication Control,Version 6.0,称为MSComm控件,可以方便地开发出使用计算机串口的计算机通信程序。MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。另一种为查询方式,在用户程序中设计定时或不定时查询MSComm控件的某些属性是否发生变化,从而确定相应处理。

利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。以下是MSComm控件的常用属性和方法:

Commport:设置或返回串口号,类型short。

Settings:以字符串的形式设置或返回串口通信参数。

Portopen:设置或返回串口状态。

InputMode:设置或返回接收数据的类型。

Inputlen:设置或返回一次从接收缓冲区中读取字节数,类型short。

Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。

Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。

Rthreshold:当接收缓冲区中字符数达到该值时,MSComm控件设置Commevent属性为ComEvReceive,并产生OnComm事件。

Sthreshold:当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。

CommEvent:串口事件,该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。
4 利用VB 6.0实现数据采集的串行通信

在VB 6.0编程环境下,新建工程并引用MSComm控件,在窗体中添加所需控件,构建一个合理的收发界面。在窗体中还需要添加以下几个基本控件:

(1)MSComm控件,主要用于软件对串口的访问。由于需要实现多台气压测高接收机的测试,需要添加多个控件。

(2)定时器控件,用于使PC机定时向各气压测高接收机发送命令,使其定时回传实时数据。

(3)非周期命令发送按钮,用于非周期性指令的传送启动。

(4)数据保存按钮,用于将采集到数据保存为文本文件,便于数据后处理。

(5)用于数据接收数据和发送数据的文本框。

首先,应对窗体中MSComm控件初始化设置:



每个气压测高接收机回传数据时即可以在PC机上引发各自的OnComm()事件,相互之间不存在数据干扰问题,数据采集后分别保存为文本文件,为后期数据处理提供原始数据。

5 结  语

本文介绍了VB 6.0的串行通信控件,分析了串口通信系统硬件构成和主要程序解决过程,有效提高了气压测高系统的测试效率,确保了数据采集的实时性和正确性。通过应用表明,数据采集准确,系统性能稳定,数据后处理方便。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上位机串口通信是指在上位机(通常是计算机或微控制器)与外部设备之间通过串行通信协议进行数据传输和通信的过程。在串口通信中,数据以位为单位按顺序传送,通常使用一个或两个物理线路(通常是两条线)来实现数据的发送和接收。

关键字: 上位机 串口通信

串口通信(Serial Communication)是一种常用的数据传输方式,它通过串行数据线逐位传输数据,具有成本低、简单易用、可靠性高等优点。在工业控制、通信设备、嵌入式系统等领域得到广泛应用。

关键字: 串口通信 嵌入式系统

串口通信是一种常见的通信方式,用于在不同设备之间传输数据。它通过串行数据线(通常是一对TXD和RXD线)在设备之间进行通信。串口通信具有简单、可靠、成本低等优点,因此在工业控制、嵌入式系统、数据采集等领域得到广泛应用。

关键字: 串口通信 串口编程

串口通信是一种常见的通信方式,主要应用于计算机和其他设备之间的数据传输。它的主要原理是利用串行数据传输的方式,将数据一位一位地按顺序传输,而不是同时传输所有的数据。下面我们来看看串口通信的主要原理以及如何提高其传输速度。

关键字: 串口通信 串口速度

串口通信是一种常见的通信方式,它通过串行方式传输数据。串口通信的原理相对简单,主要涉及到数据位的传输和接收。在串口通信中,数据按照一定的波特率(baud rate)逐位传输。通常,一个字节的数据由8位组成,所以传输一个字...

关键字: 串口通信 波特率

RS 232串口通信是一种常见的串行通信协议,广泛应用于计算机和其他设备之间的数据传输。它是由美国电子工业协会(EIA)制定的一种标准,规定了数据传输的物理层和部分数据链路层的规范。

关键字: RS 232 串口通信

虽然 USB 几乎完全取代那些旧电缆和连接器,但 UART 绝对不会成为过去。您会发现许多 DIY 电子项目都使用 UART。

关键字: UART 串口通信 USB

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器

伴随物联网、车联网、人工智能等新兴应用领域的拓展和深化,智能家居、智慧楼宇、智慧城市和智能工业等行业快速发展,带动物联网无线模组需求释放,进而带动串口WiFi模块,BLE蓝牙模块以及ZigBee模块的需求增长

关键字: uart 串口通信 物联网

串口通信作为一种最传统的通信方式,在工业自动化、通讯、控制等领域得到广泛使用。

关键字: Linux 串口通信 通讯
关闭
关闭