" />
所屬欄目:通信論文 發布日期:2011-08-31 08:14 熱度:
串口通信在數據采集中有著廣泛的應用,因為串口通信通信線路簡單、靈活方便、數據可靠。作為快速開發,利用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.56st48f.cn/fblw/dianxin/tongxin/10073.html
攝影藝術領域AHCI期刊推薦《Phot...關注:106
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
電子信息論文范文
智能科學技術論文 廣播電視論文 光電技術論文 計算機信息管理論文 計算機網絡論文 計算機應用論文 通信論文 信息安全論文 微電子應用論文 電子技術論文 生物醫學工程論文 軟件開發論文
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3