" />
所屬欄目:通信論文 發布日期: 熱度:
串口通信在數據采集中有著廣泛的應用,因為串口通信通信線路簡單、靈活方便、數據可靠。作為快速開發,利用VB開發串口通信程序既可以使用MSComm控件也可以調用WindowsAPI函數實現。這里我們使用VB6.0提供的MSComm控件,因為MSComm控件的功能和API調用一樣強,甚至更好且使用起來更加簡單,能很方便地實現所需的串口通信功能。
1.MSComm控件簡介
MSComm控件是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應用程序提供了通過串行接口收發數據的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅動方法,當串口通信產生錯誤時,MSComm控件會觸發OnComm事件,程序員可以在OnComm事件處理函數中加入自己的處理代碼。另外一種是查詢法。查詢方式實質上還是事件驅動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。
2.MSComm控件的常用屬性
MSComm控件有很多重要的屬性,但首先必須熟悉幾個關鍵屬性。
CommPort 設置并返回通訊端口號
Settings 以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位
PortOpen 設置并返回通訊端口的狀態。也可以打開和關閉端口
Input 從接收緩沖區返回和刪除字符
Output 向傳輸緩沖區寫一個字符串
3.程序代碼設計
利用MSComm控件編寫串口通信程序是十分便利和簡單的。下面我就事件驅動方式以VB6.0為平臺編寫了PC間串口通信程序的實例。代碼如下:
'串口初始化
PrivateSubForm_Load()
MSComm1.CommPort=1 '設置通信端口號為COM1
MSComm1.Settings="9600,n,8,1" '設置串口參數
MSComm1.InputMode=0 '接收文本型數據
MSComm1.RThreshold=1'接收緩沖區每收到一個字符都會使MSComm控件觸發OnComm事件
MSComm1.PortOpen=True '打開通信端口1
EndSub
'把字符通過串口發送出去
'啟動定時器
PrivateSubCmdsend_Click()
IfTextsend.Text=""Then
pp=MsgBox("發送的數據不能為空!",16)
ExitSub
EndIf
MSComm1.Output=Trim(Textsend.Text)
EndSub
'MSComm的OnComm事件程序
'由CommEvent屬性值的不同,將各自的程序代碼寫入相關的子程序中
'只要RThresold中的設定字符數到達時便會使得CommEvent屬性值變成comEvReceive
'因此接收的子程序便會被執行
PrivateSubMSComm1_OnComm()
Dimbuf$
SelectCaseMSComm1.CommEvent
'通過取代每一個case表達式來處理每個事件與錯誤
CasecomEvCD'CD線的狀態發生變化
CasecomEvCTS'CTS線的狀態發生變化
CasecomEvDSR'DSR線的狀態發生變化
CasecomEvReceive
buf=Trim(MSComm1.Input)'將緩沖區內的數據讀入buf變量中
CasecomEvSend
EndSelect
TextReceive.Text=TextReceive.Text&buf
EndSub
'停止程序運行
PrivateSubCmdquit_Click()
UnloadMe
EndSub
'關閉通信端口,
PrivateSubForm_Unload(CancelAsInteger)
MSComm1.PortOpen=False
EndSub
4結束語
本文通過具體實例介紹了如何利用VB6.0中的MSComm控件來實現串口通信。這種串口通信的實現具有一定的普遍性,掌握了以上基本技術,就可以稍加改變來開發適合自己的專用通信軟件。
文章標題:基于VB6.0的串口通信方法
轉載請注明來自:http://www.digitalguess.com/fblw/dianxin/tongxin/10073.html
A、B、C類核心期刊是以什么為依據...關注:313
sci投稿中關于online常見的問題匯...關注:636
攝影藝術領域AHCI期刊推薦《Phot...關注:526
Nature旗下多學科子刊Nature Com...關注:679
中小學教師值得了解,這些教育學...關注:304
2025年寫管理學論文可以用的19個...關注:508
測繪領域科技核心期刊選擇 輕松拿...關注:186
及時開論文檢索證明很重要關注:224
中國水產科學期刊是核心期刊嗎關注:294
國際出書需要了解的問題解答關注:246
合著出書能否評職稱?關注:197
電信學有哪些可投稿的SCI期刊,值...關注:185
通信工程行業論文選題關注:194
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:288
評職稱發論文好還是出書好關注:170
復印報刊資料重要轉載來源期刊(...關注:149
copyright © www.digitalguess.com, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3