基于C++Builder語言的串口監(jiān)控程序設(shè)計(jì)
發(fā)布時(shí)間:2018-07-02 來源: 幽默笑話 點(diǎn)擊:
[摘 要]衛(wèi)星通信在現(xiàn)代社會中的地位越來越重要,其覆蓋范圍廣,通信距離遠(yuǎn),在政治、文化等方面得到了廣泛應(yīng)用。信道鏈路是衛(wèi)星通信的重要組成部分,然而信道鏈路設(shè)備多,需要監(jiān)控計(jì)算機(jī)完成與信道鏈路設(shè)備的通信任務(wù)。通常監(jiān)控計(jì)算機(jī)通過串口實(shí)現(xiàn)與信道鏈路設(shè)備的通信,本文提出了利用 Pcomm實(shí)現(xiàn)主機(jī)與從機(jī)串口通信的方法,并給出了具體實(shí)例,通過試驗(yàn)測試和實(shí)際運(yùn)行, 監(jiān)控程序能夠準(zhǔn)確、快速地完成通信任務(wù)。
[關(guān)鍵詞]衛(wèi)星通信、信道鏈路、串口
中圖分類號:S615 文獻(xiàn)標(biāo)識碼: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 引言
衛(wèi)星通信范圍廣,通信距離遠(yuǎn),在政治、經(jīng)濟(jì)、文化、交通等方面得到了廣泛應(yīng)用。信道鏈路是衛(wèi)星通信重要組成部分,其中的上位機(jī)監(jiān)控程序完成信道鏈路各個(gè)單元的通信與控制;诖嗽O(shè)計(jì)了該軟件,經(jīng)過試驗(yàn)測試和實(shí)際運(yùn)行, 監(jiān)控程序能夠準(zhǔn)確、快速地完成通信任務(wù)。
通常有3種實(shí)現(xiàn)方法可以實(shí)現(xiàn)主機(jī)與從機(jī)間的串口通信:一是采用在C++程序中嵌入行中嵌入行間匯編,直接對UART串口通信接收系硬件進(jìn)行操作,實(shí)時(shí)性最高,但編程需要了解硬件。二是Windows的API函數(shù),該函數(shù)通信復(fù)雜,但靈活性最大,實(shí)時(shí)性較高。三是利用VB下高性能的ActiveX軟控件MSComm,編程簡單,但接收模式編程稍為復(fù)雜。本文介紹一種更為簡單、可靠的方法:用PComm實(shí)現(xiàn)串口通信。
2 Pcomm簡介
PComm串口通信軟件包是可以運(yùn)用于WindowsXP/Vista/7等操作系統(tǒng)。如今WindowsXP/Vista/7等操作系統(tǒng)已被廣泛應(yīng)用,占據(jù)全球主流操作系統(tǒng),而它提供的Win32 Comm API卻復(fù)雜難用。
相對于Win32 Comm API的復(fù)雜繁瑣,PComm的函數(shù)響應(yīng)更為簡單,它還提供了一個(gè)十分有用的函數(shù)庫PComm Library。該函數(shù)庫由若干動態(tài)連接庫(DLL)文件組成,它提供的sio_xxx( )函數(shù)在C++Builder下使用十分方便。采用該庫,通信的可靠性與使用MSComm控件相比有了明顯提高,相對使用Win32 Comm API函數(shù)編程,則降低了程序開發(fā)難度,縮短了開發(fā)周期。在C++Builder環(huán)境下使用 PComm,需要進(jìn)行以下操作。
1.在C++Builder中新建工程項(xiàng)目后,將Pcommb.lib文件加入工程文件中。
2.打開Project\Options的Directories/Conditionals,在Include path中添加PComm的庫文件。
3.在相關(guān)單元文件的起始部分添加頭文件:#include “PComm.h”。
PComm安裝完成后,是作為開發(fā)工具的一個(gè)組件直接使用的。如安裝不正確,會彈出彈出提示“計(jì)算機(jī)缺少Pcomm.dll”或“串口無法打開”。
3 編程實(shí)現(xiàn)
變頻器是信道鏈路的重要組成部分,下變頻器將射頻信號轉(zhuǎn)變?yōu)橹蓄l信號,送入后端設(shè)備進(jìn)行解調(diào),得到需要的基帶信息。本程序就以監(jiān)控下變頻器為例,該程序可以設(shè)置變頻器的工作參數(shù),顯示變頻器的工作狀態(tài)。本程序由一個(gè)MainForm和多個(gè)DataModule組成,主程序相對于下變頻器相的是Com3。本程序調(diào)用了數(shù)據(jù)庫中的表,用到了GroupBox、Panel等控件。將程序部分代碼展示如下:
void DataCom3Proc()
{
int i,k,j;
k=sio_read(Com3Port,recom3buf,256);
if (MainForm->CheckBox2->Checked==true)
{
for(i=0;i
}
4 結(jié)束語
利用PComm完成主機(jī)與從機(jī)通信的任務(wù),實(shí)際上是通過其自帶的一些sio_xxx(*)型的函數(shù)實(shí)現(xiàn)的。該系監(jiān)控程序經(jīng)過試驗(yàn)測試和實(shí)際運(yùn)行,程序能夠準(zhǔn)確、快速地完成通信任務(wù)。
參考文獻(xiàn)
[1] MOXA Corp. PComm Library Programming Guide.1998.
[2] 錢能.C++程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社.2001.
[3] 劉光主編.C++Builder程序設(shè)計(jì)導(dǎo)學(xué).清華大學(xué)出版社,2002.
[4] 李幼儀,甘志.C++Builder高級應(yīng)用開發(fā)指南[M].北京:清華大學(xué)出版社,2005.
[5] 張菲菲,薛賀,李建良.多語言Web網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2008(5).
相關(guān)熱詞搜索:串口 程序設(shè)計(jì) 監(jiān)控 語言 Builder
熱點(diǎn)文章閱讀