亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于Win95的VB5串口通信程序

2019-11-18 17:28:05
字體:
來源:轉載
供稿:網友
----VisualBasic5.0(以下簡稱VB)以其簡單易學、32位面向對象的程序設計等特點,倍受廣大計算機開發者的青睞,已泛地應用于各個領域;在實時監測系統中串行端口通信是一項基礎功能,因此我們使用VB5編寫了實時水庫水文自動監測系統的后臺機軟件。本文就Windows95環境中采用VB5設計串行端口通信程序進行討論并給出實例。

----一般用VB開發串行通信程序有兩種方法:一是利用Windows的通信API函數;另一種是采用VB標準控件Mscomm來實現。

Windows95的通信API
----Windows95中的串口通信API函數不同于Windows3.x中的OpenComm、CloseComm、ReadComm、WriteComm,而是采用硬件與文件通用的函數CreateFile、ReadFile、WriteFile、CloseHandle,該類函數更具有一般性,并且可以用EscapeCommFunction函數實現底層硬件操作,比如:SETXOFF、CLRDTR等。
----利用API編寫串口通信程序較為復雜,需要掌握大量通信知識,其優點是可實現的功能更豐富、應用面更廣泛,
更適合于編寫較為復雜的低層次通信程序。采用這種方法編寫串行端口通信程序一般可分為以下幾個過程:

----1.初始化串行端口

----首先用CreateFile函數打開指定串口,置參數中訪問類型為GENERIC_READ|GENERIC_WRITE、共享模式為0、創建標志為
OPEN_EXISTING、模板句柄為NULL。

----2.配置串口

----Windows95的串口配置比Windows3.x較為復雜,但其功能更強大,對一般程序可使用CommConfigDialog函數以對話框方式設置波特率、數據位、奇偶校驗、停止位和流控制方式,并且可以恢復缺省值。

----3.超時控制

----為了防止意外情況使串口讀寫無休止地等待,Windows95提供了超時設置,這是由COMMTIMEOUTS結構定義的,通過調用GetCcommTimeOuts函數獲得當前的設置,用SetCommTimeOuts函數來完成設置。

----4.數據傳輸

----讀寫串行端口與讀寫文件采用的函數相同,即ReadFile、WriteFile,讀寫操作可分四種方式:查詢方式、同步I/O、異步(后臺)I/O和事件驅動I/O。

----5.關閉串口

----程序的終止可以自動關閉串口,也可用函數CloseHandle(),以便釋放所獨占資源。

VB通信控件Mscomm
----Mscomm控件提供了功能完善的串口數據的發送和接收功能,Mscomm控件具有兩種處理方式:1事件驅動方式:由Mscomm控件的OnComm事件捕獲并處理通信錯誤及事件;2查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯誤。
----Mscomm控件的通信功能實現,實際上是調用了API函數,而API函數是由Comm.drv解釋并傳給設備驅動程序執行的,對于VB程序開發者只需知道Mscomm控件的屬性和事件的用法即可以實現串口的操作。

----以下是Mscomm控件的主要屬性和方法:

----1)CommPort:設置或返回串行端口號,其取值范圍為1~99,缺省為1。

----2)Setting設置或返回串行端口的波特率、奇偶校驗位、數據位數、停止位。如:Mscomm.Setting=“9600,N,8,1”。

----3)PortOpen:打開或關閉串行端口,格式為:Mscomm.PortOpen={TRUE|FALSE}。

----4)InBufferSize:設置或返回接收緩沖區的大小,缺省為1024字節。

----5)InBufferCount:返回接收緩沖區內的等待讀取的字節個數,可通過設置該屬性為0來清除接收緩沖區。

----6)RThreshold:該屬性為一閥值,它確定當接收緩沖區內字節個數達到或超過該值后就產生代碼為MSCOMM_EV_RECEIVE的OnComm事件。

----7)InputLen:設置或返回接收緩沖區內用Input讀入的個數。若取0,則INPUT讀取整個緩沖區的內容。

----8)Input:該屬性表示從接收緩沖區移走一串字符。

----9)OutBufferSize:設置或返回發送緩沖區,缺省為512字節。


----10)OutBufferCounter:返回發送緩沖區內等待發送的字符數,可用來清空緩沖區。

----11)Output:向發送緩沖區傳送一字符串。

----12)EOFEnable:若置TRUE,則當輸入中出現EOF,就停止輸入并產生OnComm事件。

----如果在通信過程中發生錯誤或事件,就會引發OnComm事件并且改變屬性值,由CommEvent屬性代碼反映錯誤類型,在通信程序的設計中可根據該屬性值來執行不同的操作,以下是部分屬性常數值及其含義:

----1)ComEvSend:其值為1,發送緩沖區的內容少于SThreshold指定的值。

----2)ComEvReceive:其值為2,接收緩沖區內字符數達到RThreshold值,該事件在緩沖區中數據被移走前將持續產生。


----3)ComEventFrame:其值為1004,硬件檢測到幀錯誤。

----4)ComEventRxOver:其值為1008,接收緩沖區溢出。

----5)ComEventTxFull:其值為1010,發送緩沖區溢出。

----6)ComEventRxParity:其值為1009,奇偶校驗。

----7)ComEvEOF:其值為7,接收數據中出現文件結束(ASCII碼為26)字符。

程序樣例
----采用Mscomm控件實現串口通信時,首先添加一Mscomm控件到窗體中,該控件一般不在通用工具窗口中,而是需通過菜單項“工程(P)→部件(O)”進入選擇窗口,在控件tab頁中選取MicrosoftCommControl5.0,此時工具窗口中出現Mscomm圖標,即可被使用。
----以下是事件驅動方式的接收程序的主要部分:
MSComm1.PortOpen=False

EndIf

EndSub->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
这里精品视频免费| 久久久久北条麻妃免费看| 国产精品主播视频| 日韩av在线直播| 国产日本欧美一区二区三区| 亚洲最大福利网| 欧美精品在线观看| 国产精品流白浆视频| 亚洲欧洲在线观看| 欧美日韩中文字幕| www.久久撸.com| 日韩中文字幕免费看| 九九视频这里只有精品| 日韩国产高清污视频在线观看| 久久人人爽亚洲精品天堂| 中国china体内裑精亚洲片| 精品国产美女在线| 亚洲无av在线中文字幕| 疯狂蹂躏欧美一区二区精品| 91av在线免费观看| 成人国产精品av| 日韩电影中文 亚洲精品乱码| 久久久人成影片一区二区三区| 日韩国产精品亚洲а∨天堂免| 日本aⅴ大伊香蕉精品视频| 亚洲一区二区少妇| 久久成年人视频| 国产精品久久久久77777| 亚洲欧美日韩精品久久| 欧美与黑人午夜性猛交久久久| 97精品国产aⅴ7777| 欧洲亚洲在线视频| 91中文字幕一区| 丁香五六月婷婷久久激情| 国产精品久久久一区| 国产精品国产福利国产秒拍| 欧美体内谢she精2性欧美| 亚洲成人网在线观看| 日韩精品在线播放| 亚洲一区二区黄| 91精品久久久久久久久青青| 亚洲一品av免费观看| 51久久精品夜色国产麻豆| 国语自产精品视频在线看| 久久国产精品网站| 精品久久久久久久大神国产| 久久视频在线看| 日本韩国在线不卡| 日韩在线视频网站| 欧美午夜宅男影院在线观看| 久久亚洲国产成人| 欧美乱大交xxxxx另类电影| 国产日韩精品视频| 国产精品偷伦一区二区| 久久久最新网址| 精品国产一区二区三区久久久狼| 国产欧美日韩视频| 中日韩美女免费视频网站在线观看| 国产精品国模在线| 国产精品久久久久久久7电影| 97在线看免费观看视频在线观看| 91探花福利精品国产自产在线| 亚洲丁香婷深爱综合| 欧美精品久久一区二区| 国产日产久久高清欧美一区| 国产成人精品av在线| 91产国在线观看动作片喷水| 影音先锋欧美在线资源| 欧美在线一级va免费观看| 欧美国产日韩一区二区在线观看| 精品动漫一区二区| 亚洲美女在线看| 国产精品极品美女粉嫩高清在线| 亚洲电影第1页| 欧美国产欧美亚洲国产日韩mv天天看完整| 一区二区亚洲欧洲国产日韩| 亚洲偷欧美偷国内偷| 一本一本久久a久久精品综合小说| 性色av一区二区三区在线观看| 91中文在线视频| 亚洲一区国产精品| 夜夜躁日日躁狠狠久久88av| 亚洲欧美成人网| 国产在线精品自拍| 日本a级片电影一区二区| 精品亚洲精品福利线在观看| 亚洲3p在线观看| 日韩在线视频网| 国产91成人video| 亚洲精品国产福利| 久久综合伊人77777| 国产精品www网站| 国语自产精品视频在线看| 久久精品成人一区二区三区| 国产不卡av在线免费观看| 亚洲乱码国产乱码精品精| 日韩高清a**址| 日本精品一区二区三区在线| 日韩av免费观影| 国产在线观看不卡| 欧美日本亚洲视频| 亚洲小视频在线| 国产一区二区视频在线观看| 在线播放日韩av| 欧美资源在线观看| www.久久色.com| 色天天综合狠狠色| 91精品国产乱码久久久久久久久| 亚洲精品中文字幕女同| 欧美亚洲国产日韩2020| 77777亚洲午夜久久多人| 久久天天躁狠狠躁夜夜爽蜜月| 欧美激情欧美激情在线五月| 国产精品国产三级国产aⅴ浪潮| 日韩av一卡二卡| 欧美精品18videos性欧美| 亚洲自拍在线观看| 91精品国产综合久久久久久久久| 日韩av男人的天堂| 最近2019年中文视频免费在线观看| 国产精品美乳一区二区免费| 欧美第一淫aaasss性| 欧美日韩国产精品一区二区不卡中文| 欧美在线视频免费观看| 欧美综合一区第一页| 亚洲国产精品久久91精品| 成人福利在线观看| 精品高清一区二区三区| 91精品国产自产在线老师啪| 欧美午夜性色大片在线观看| 韩国国内大量揄拍精品视频| 中文字幕在线精品| 日韩中文字幕国产| 欧美洲成人男女午夜视频| 欧美精品生活片| 久久精品国产v日韩v亚洲| 久久久久五月天| 亚洲一区二区在线播放| 清纯唯美日韩制服另类| 欧美性生活大片免费观看网址| 亚洲va码欧洲m码| 亚洲色图av在线| 亚洲精品中文字幕女同| 夜夜嗨av色综合久久久综合网| 色偷偷888欧美精品久久久| 欧美大片在线影院| 中文字幕精品www乱入免费视频| 日本欧美在线视频| 69视频在线免费观看| 日韩在线视频免费观看| 亚洲视频第一页| 成人444kkkk在线观看| 在线中文字幕日韩| 日韩在线视频中文字幕| 国产精品久久久久久婷婷天堂| 中文字幕自拍vr一区二区三区| 日韩在线www| 日产精品久久久一区二区福利| 久久精品视频中文字幕| 九九九久久久久久| 国产欧美一区二区三区四区| 久久亚洲精品毛片| 亚洲小视频在线观看| 亚洲欧美日韩高清|