" />

久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

基于VB6.0的串口通信方法

所屬欄目:通信論文 發(fā)布日期:2011-08-31 08:14 熱度:

  串口通信在數(shù)據(jù)采集中有著廣泛的應(yīng)用,因?yàn)榇谕ㄐ磐ㄐ啪路簡單、靈活方便、數(shù)據(jù)可靠。作為快速開發(fā),利用VB開發(fā)串口通信程序既可以使用MSComm控件也可以調(diào)用WindowsAPI函數(shù)實(shí)現(xiàn)。這里我們使用VB6.0提供的MSComm控件,因?yàn)镸SComm控件的功能和API調(diào)用一樣強(qiáng),甚至更好且使用起來更加簡單,能很方便地實(shí)現(xiàn)所需的串口通信功能。
  1.MSComm控件簡介
  MSComm控件是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅(qū)動方法,當(dāng)串口通信產(chǎn)生錯誤時(shí),MSComm控件會觸發(fā)OnComm事件,程序員可以在OnComm事件處理函數(shù)中加入自己的處理代碼。另外一種是查詢法。查詢方式實(shí)質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。在程序的每個(gè)關(guān)鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。
  2.MSComm控件的常用屬性
  MSComm控件有很多重要的屬性,但首先必須熟悉幾個(gè)關(guān)鍵屬性。
  CommPort 設(shè)置并返回通訊端口號
  Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位
  PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口
  Input 從接收緩沖區(qū)返回和刪除字符
  Output 向傳輸緩沖區(qū)寫一個(gè)字符串
  3.程序代碼設(shè)計(jì)
  利用MSComm控件編寫串口通信程序是十分便利和簡單的。下面我就事件驅(qū)動方式以VB6.0為平臺編寫了PC間串口通信程序的實(shí)例。代碼如下:
  
  '串口初始化
  PrivateSubForm_Load()
  MSComm1.CommPort=1 '設(shè)置通信端口號為COM1
  MSComm1.Settings="9600,n,8,1" '設(shè)置串口參數(shù)
  MSComm1.InputMode=0 '接收文本型數(shù)據(jù)
  MSComm1.RThreshold=1'接收緩沖區(qū)每收到一個(gè)字符都會使MSComm控件觸發(fā)OnComm事件
  MSComm1.PortOpen=True '打開通信端口1
  EndSub
  '把字符通過串口發(fā)送出去
  '啟動定時(shí)器
  PrivateSubCmdsend_Click()
  IfTextsend.Text=""Then
  pp=MsgBox("發(fā)送的數(shù)據(jù)不能為空!",16)
  ExitSub
  EndIf
  MSComm1.Output=Trim(Textsend.Text)
  EndSub
  'MSComm的OnComm事件程序
  '由CommEvent屬性值的不同,將各自的程序代碼寫入相關(guān)的子程序中
  '只要RThresold中的設(shè)定字符數(shù)到達(dá)時(shí)便會使得CommEvent屬性值變成comEvReceive
  '因此接收的子程序便會被執(zhí)行
  PrivateSubMSComm1_OnComm()
  Dimbuf$
  SelectCaseMSComm1.CommEvent
  '通過取代每一個(gè)case表達(dá)式來處理每個(gè)事件與錯誤
  CasecomEvCD'CD線的狀態(tài)發(fā)生變化
  CasecomEvCTS'CTS線的狀態(tài)發(fā)生變化
  CasecomEvDSR'DSR線的狀態(tài)發(fā)生變化
  CasecomEvReceive
  buf=Trim(MSComm1.Input)'將緩沖區(qū)內(nèi)的數(shù)據(jù)讀入buf變量中
  CasecomEvSend
  EndSelect
  TextReceive.Text=TextReceive.Text&buf
  EndSub
  '停止程序運(yùn)行
  PrivateSubCmdquit_Click()
  UnloadMe
  EndSub
  '關(guān)閉通信端口,
  PrivateSubForm_Unload(CancelAsInteger)
  MSComm1.PortOpen=False
  EndSub
  4結(jié)束語
  本文通過具體實(shí)例介紹了如何利用VB6.0中的MSComm控件來實(shí)現(xiàn)串口通信。這種串口通信的實(shí)現(xiàn)具有一定的普遍性,掌握了以上基本技術(shù),就可以稍加改變來開發(fā)適合自己的專用通信軟件。

文章標(biāo)題:基于VB6.0的串口通信方法

轉(zhuǎn)載請注明來自:http://m.56st48f.cn/fblw/dianxin/tongxin/10073.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識網(wǎng) 冀ICP備15021333號-3

主站蜘蛛池模板: 黄色av网站在线免费观看 | 国产最新网址 | 看a级黄色毛片 | 黄在线免费观看 | 成人性视频免费网站 | 免费黄色的视频 | 欧美区在线| 在线三级电影 | 精品久久国产视频 | 一区二区高清不卡 | 国产精品久久久久久久久久免费看 | 91看片官网 | 亚洲国产日本 | 国产激情在线播放 | 91热在线 | 欧美成人免费在线视频 | 精品国产一区二区三区久久久蜜月 | 国产精品呻吟久久av凹凸 | 久久久久久999 | 日韩精品久久久久 | 天天精品综合 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产精品久久久久久久久 | 色婷婷激情 | 欧美性高潮 | 久草a√ | 国产91视频一区二区 | 男女下面一进一出网站 | 精品一区二区三区不卡 | 亚洲精品久 | 国产精品视频97 | 久久尤物免费一区二区三区 | 国产视频观看 | 日韩在线播放视频 | 欧美黑人国产人伦爽爽爽 | 久久国产精品一区二区 | 久久久久久亚洲精品不卡 | 国产又色又爽又黄又免费 | 国产成人99久久亚洲综合精品 | 国产精品成人一区二区三区 | 中国美女一级黄色片 |