基于C++Builder语言的串口监控程序设计
   来源:中国科技博览     2018年12月02日 16:32

基于C语言的串口通讯程序设计

赵波

[摘 要]卫星通信在现代社会中的地位越来越重要,其覆盖范围广,通信距离远,在政治、文化等方面得到了广泛应用。信道链路是卫星通信的重要组成部分,然而信道链路设备多,需要监控计算机完成与信道链路设备的通信任务。通常监控计算机通过串口实现与信道链路设备的通信,本文提出了利用 Pcomm实现主机与从机串口通信的方法,并给出了具体实例,通过试验测试和实际运行, 监控程序能够准确、快速地完成通信任务。

[关键词]卫星通信、信道链路、串口

中图分类号:S615 文献标识码:A 文章编号:1009-914X(2018)24-0351-01

[Abstract]The status of satellite communication in modern society is more and more important. Its coverage is wide and its communication distance is far. It has been widely used in politics and culture. Channel link is an important part of satellite communication. However, there are many channel link devices, and the monitoring computer needs to complete the task of communication with channel link devices. Usually, the monitoring computer realizes the communication with the channel link device through the serial port. In this paper, a method of using Pcomm to communicate with the serial port of the host and the slave is proposed. The specific examples are given. Through the test and actual operation, the monitoring program can accurately and quickly complete the communication task.

[Key words]satellite communication, channel link ,serial port

1 引言

卫星通信范围广,通信距离远,在政治、经济、文化、交通等方面得到了广泛应用。信道链路是卫星通信重要组成部分,其中的上位机监控程序完成信道链路各个单元的通信与控制。基于此设计了该软件,经过试验测试和实际运行, 监控程序能够准确、快速地完成通信任务。

通常有3种实现方法可以实现主机与从机间的串口通信:一是采用在C++程序中嵌入行中嵌入行间汇编,直接对UART串口通信接收系硬件进行操作,实时性最高,但编程需要了解硬件。二是Windows的API函数,该函数通信复杂,但灵活性最大,实时性较高。三是利用VB下高性能的ActiveX软控件MSComm,编程简单,但接收模式编程稍为复杂。本文介绍一种更为简单、可靠的方法:用PComm实现串口通信。

2 Pcomm简介

PComm串口通信软件包是可以运用于WindowsXP/Vista/7等操作系统。如今WindowsXP/Vista/7等操作系统已被广泛应用,占据全球主流操作系统,而它提供的Win32 Comm API却复杂难用。

相对于Win32 Comm API的复杂繁琐,PComm的函数响应更为简单,它还提供了一个十分有用的函数库PComm Library。该函数库由若干动态连接库(DLL)文件组成,它提供的sio_xxx( )函数在C++Builder下使用十分方便。采用该库,通信的可靠性与使用MSComm控件相比有了明显提高,相对使用Win32 Comm API函数编程,则降低了程序开发难度,缩短了开发周期。在C++Builder环境下使用 PComm,需要进行以下操作。

1.在C++Builder中新建工程项目后,将Pcommb.lib文件加入工程文件中。

2.打开Project\Options的Directories/Conditionals,在Include path中添加PComm的库文件。

3.在相关单元文件的起始部分添加头文件:#include “PComm.h”。

PComm安装完成后,是作为开发工具的一个组件直接使用的。如安装不正确,会弹出弹出提示“计算机缺少Pcomm.dll”或“串口无法打开”。

3 编程实现

变频器是信道链路的重要组成部分,下变频器将射频信号转变为中频信号,送入后端设备进行解调,得到需要的基帶信息。本程序就以监控下变频器为例,该程序可以设置变频器的工作参数,显示变频器的工作状态。本程序由一个MainForm和多个DataModule组成,主程序相对于下变频器相的是Com3。本程序调用了数据库中的表,用到了GroupBox、Panel等控件。将程序部分代码展示如下:

void DataCom3Proc()

{

int i,k,j;

k=sio_read(Com3Port,recom3buf,256);

if (MainForm->CheckBox2->Checked==true)

{

for(i=0;i

MainForm->RichEdit2->Text=MainForm->RichEdit2->Text+-+IntToHex(Byte(recom3buf[i]),2);

}

4 结束语

利用PComm完成主机与从机通信的任务,实际上是通过其自带的一些sio_xxx(*)型的函数实现的。该系监控程序经过试验测试和实际运行,程序能够准确、快速地完成通信任务。

参考文献

[1] MOXA Corp. PComm Library Programming Guide.1998.

[2] 钱能.C++程序设计教程[M].北京:清华大学出版社.2001.

[3] 刘光主编.C++Builder程序设计导学.清华大学出版社,2002.

[4] 李幼仪,甘志.C++Builder高级应用开发指南[M].北京:清华大学出版社,2005.

[5] 张菲菲,薛贺,李建良.多语言Web网站的设计与实现[J].微电子学与计算机,2008(5).

文章 通信 信道