- 相關推薦
利用VC中的通訊控件開發串形通信程序
利用VC中的通訊控件開發串形通信程序
楊峰
河南省水文水資源局
由于需要我們開發了前置機應用程序,實現功能就是將前置機里存放的信息取出來用計算機進行處理,該程序是利用VC在WIN98下開發而成,對串口的訪問是通過VC中的通訊控件主要完成的。通訊程序開發不僅涉及對串口的訪問,還牽涉多線程編程24小時運行等問題,是編程中令人頭疼的問題。本文中只介紹利用控件對串口的訪問。為了說明控件的應用,這里特編制兩臺計算機通過串口進行信息交換的小程序,來介紹通訊控件的具體運用。
1. 控件程序的實現
啟動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
串口的參數設置,依次為波特率、奇偶校驗、數據位數、停止位數
InBufferSize
1024
接收緩沖區大小
InputLen
0
從接收緩沖區讀取的字節數,0表示全部讀取
InputMode
1
接收數據的類型,0表示文本類型,1表示二進制類型
OutBufferSize
1024
發送緩沖區大小
RThreshold
1
設定當接收幾個字符時觸發OnComm事件,0表示不產生事件,1表示每接收一個字符就產生一個事件
SThreshold
0
設定在觸發OnComm事件前發送緩沖區內所允許的最少字符數,0表示發數據時不產生事件,1表示當發送緩沖區空時產生OnComm事件
通訊控件的屬性很多,這里只是介紹其中的幾種,可以根據自己的需求選擇加以設置調整,對于其他屬性可以查看VC幫助和聯機手冊。
通訊控件的工作原理類似于中禵cf方式,當有通訊事件發生時(如發送數據、接收數據等),就會觸發OnComm事件,在該事件的處理函數中調用GetCommEvent()函數,通過返回值即可確定是那類事件,再作出相應的處理。
3.VC通訊控
【利用VC中的通訊控件開發串形通信程序】相關文章:
在VC 中用ActiveX控件實現與單片機的串行通信03-19
VC++實現串口通信的應用程序設計03-07
利用進程間通信實現程序自我保護分析03-09
程序開發中異常的理解及處理異常03-20
用PComm開發PC機與單片機的通信程序03-19
淺談對程序開發中異常的理解和認識03-15
地方文獻開發利用中的幾個問題03-18