- 相關推薦
利用VC中的通訊控件開發(fā)串形通信程序
利用VC中的通訊控件開發(fā)串形通信程序
楊峰
河南省水文水資源局
由于需要我們開發(fā)了前置機應用程序,實現(xiàn)功能就是將前置機里存放的信息取出來用計算機進行處理,該程序是利用VC在WIN98下開發(fā)而成,對串口的訪問是通過VC中的通訊控件主要完成的。通訊程序開發(fā)不僅涉及對串口的訪問,還牽涉多線程編程24小時運行等問題,是編程中令人頭疼的問題。本文中只介紹利用控件對串口的訪問。為了說明控件的應用,這里特編制兩臺計算機通過串口進行信息交換的小程序,來介紹通訊控件的具體運用。
1. 控件程序的實現(xiàn)
啟動Microsoft 5.0,利用Appwizards建立一個新的基于對話框的project,選名commtest,其中第二步選擇ActiveX Control選項,證明支持控件功能,其他都選擇缺省,這樣就建立了一個基于對話框的應用程序。
然后將通訊控件加入應用之中,在對話框資源上點擊鼠標右鍵,選擇Insert ActiveX Control然后在控件選擇對話框中選擇Microsoft Communictions Control,Version5.0,然后選擇Insert插入一個類似電話機的控件,然后點擊該控件就可以修改和設置控件特性。按Add to Project選項中Registered ActiveX Control選項然后在控件選擇對話框中選擇Microsoft Communictions Control,Version5.0,將通訊控件兩個程序Mscomm.h和Mscomm.cpp加入project當中。這樣就把通訊控件加入了應用程序當中,可以應用該控件進行編程了。
2.通訊控件的各屬性的含義:
w10 屬性
設定值
說明
ComPort
1
串口號
Settings
9600,n,8,1
串口的參數(shù)設置,依次為波特率、奇偶校驗、數(shù)據(jù)位數(shù)、停止位數(shù)
InBufferSize
1024
接收緩沖區(qū)大小
InputLen
0
從接收緩沖區(qū)讀取的字節(jié)數(shù),0表示全部讀取
InputMode
1
接收數(shù)據(jù)的類型,0表示文本類型,1表示二進制類型
OutBufferSize
1024
發(fā)送緩沖區(qū)大小
RThreshold
1
設定當接收幾個字符時觸發(fā)OnComm事件,0表示不產生事件,1表示每接收一個字符就產生一個事件
SThreshold
0
設定在觸發(fā)OnComm事件前發(fā)送緩沖區(qū)內所允許的最少字符數(shù),0表示發(fā)數(shù)據(jù)時不產生事件,1表示當發(fā)送緩沖區(qū)空時產生OnComm事件
通訊控件的屬性很多,這里只是介紹其中的幾種,可以根據(jù)自己的需求選擇加以設置調整,對于其他屬性可以查看VC幫助和聯(lián)機手冊。
通訊控件的工作原理類似于中禵cf方式,當有通訊事件發(fā)生時(如發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等),就會觸發(fā)OnComm事件,在該事件的處理函數(shù)中調用GetCommEvent()函數(shù),通過返回值即可確定是那類事件,再作出相應的處理。
3.VC通訊控
【利用VC中的通訊控件開發(fā)串形通信程序】相關文章:
在VC 中用ActiveX控件實現(xiàn)與單片機的串行通信03-19
利用VB的MSComm控件實現(xiàn)GPS數(shù)據(jù)采集03-07
基于Delphi的VCL控件開發(fā)與實現(xiàn)論文01-01
程序開發(fā)中異常的理解及處理異常03-20
淺談對程序開發(fā)中異常的理解和認識03-15
地方文獻開發(fā)利用中的幾個問題03-18