<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于VB6.0的MSComm通信方法設計

    時間:2024-09-01 16:15:00 理工畢業論文 我要投稿
    • 相關推薦

    基于VB6.0的MSComm通信方法設計

    摘要:本文介紹了基于VB6.0的MSComm串行通信設計,并給出了機與智能采集模塊進行通信的程序設計的框架。
    關鍵詞:串行通信,vb6.0,MSComm 1 前言
    在控制領域,我們經常需要進行計算機與其他設備之間的通信,而串行通信作為一種靈活、方便、可靠的通信方式被廣泛采用。在開發串行通信程序的過程中,利用微軟的MSComm通信控件則相對較簡單,該控件具有豐富的與串行通信密切相關的屬性及事件,提供了對串口的各種操作。MSComm控件在串口編程時非常方便,程序員不必花時間去了解較為復雜的API函數,而且在VB中容易使用。 2 用visual basic 6.0進行串行通信程序設計的方法
    (1) 用visual basic 6.0進行串行通信程序的設計有兩種方式,一是直接調用Windows API,另一種方式是使用通信組件,但后一種方式實際上是通過通信組件間接的調用了Windows API函數,其過程要比直接調用API要復雜,但是在程序的實現上要比前一種方式簡單的多。在操作系統方面,Windows使用通信驅動程序Comm.drv,以便于程序能夠使用標準的Windows API函數來傳遞和接收數據。串行外圍設備的制造商則提供硬件驅動程序,以便讓其硬件能與Windows連接。使用MSComm控件時,實際上就是使用了API函數,API函數將被Comm.drv解釋并傳送給外圍設備驅動程序,使用MSComm的用戶只需要關心如何使用MSComm所提供的屬性或事件,以驅動API函數的接口完成工作。
    串行通信程序的執行過程(2) MSComm提供了兩種處理通信的方法,一是事件驅動方法,一是查詢法。
    ①事件驅動法
    在使用事件驅動法設計程序時,每當有新字符到達或端口狀態改變,或發生錯
    誤時,MSComm控件將觸發OnComm事件,而應用程序在捕獲該事件后,通過檢查MSComm控件的CommEvent屬性可以獲知所發生的事件或錯誤,從而采取相應的操作。這種方法的優點是程序響應及時,可靠性高。
    ②查詢法
    查詢法適合于較小的應用程序,在這種情況下,每當應用程序執行完某一串行口操作后,將不斷檢查MSComm控件的CommEvent屬性,以檢查執行結果或檢查某一事件是否發生。
    (3) 串行通信的兩種格式
    進行串行通信時有兩種傳輸方式:
    ①字符形式:通常以小于ASCII碼128的字符碼來傳遞,通常用于傳送指令。
    ②二進制形式:將數據以二進制編碼的方式傳遞,它可能含有ASCII碼128以上的字符碼,通常用來傳送數據,以提高速度。3.串行通信實例下面給出在Win2000下利用VB6.0的MSComm控件開發計算機與一智能采集模塊進行串行通信的程序實現。在工控領域內,智能采集模塊有著相當重要的地位,它可以通過串口通訊協議(RS232、RS485等)或其他通訊協議與PC機相連,并與外界現場信號直接相連或與由傳感器轉換過的外界信號相連,由PC機中的程序控制并實現采集現場的模擬信號,并處理采集到的現場信號并輸出模擬控制信號、開關量輸入輸出等功能。因此,智能采集模塊在工業控制領域內有著極其廣泛的應用。本例子中的智能采集模塊與計算機進行通信時,采用一位開始位、一位停止位、7位數據位、偶校驗方式,波特率為9600bps.
    (1)在窗體中添加名為MyComm的MSComm控件,并設置空間的屬性,如下:
    .CommPort=2 ‘使用COM2
    .Setting=”9600,e,7,1” ‘波特率9600,偶校驗,7個數據位,1個停止位
    .InBufferSize=40 ‘設置MyComm接收緩沖區為40個字節
    .OutBufferSize=2 ‘設置MyComm發送緩沖區為2個字節
    .InputMode=comInputModeBinary
    ‘設置接收數據模式為二進制模式
    .InputLen=1 ‘設置一次從接收緩沖區讀取字節數為1
    .Sthreshold=1 ‘設置一次從發送緩沖區讀取字節數為1
    .PortOpen=True ‘打開通信口
    ‘其他屬性設置省略(2)下面是響應Mycomm_OnComm事件的處理程序,對數據庫采集的處理程序采用MSComm事件驅動方式。
    Private Sub MyComm_OnComm()
    With MyComm
    Select case .CommEvent
    Case .comEvReceive
    ‘ 接收數據
    ‘ 對數據進行處理
    case .comEVSend
    ‘發送數據
    case .comEventRxParity
    ‘對奇偶校驗錯誤進行處理
    end selectend with
    end sub 4.結束語
    本文結合實例介紹了基于VB6.0的MSComm串行通信設計。
    書目:
    1、 范逸之等.利用Visual Basic 實現串并行通信技術
    清華大學出版社 2001.3
    2、 黃淼云等.Visual Basic控件高手
    北京希望出版社 2001.1
    3、 范逸之等.Visual Basic與RS-232串行通信控制最新版
    青年出版社 2002.1

    【基于VB6.0的MSComm通信方法設計】相關文章:

    基于軟件無線電的GPP通信波形軟件設計方法03-11

    基于 DSP 的網絡通信程序設計03-20

    基于通信器S1503的門禁系統的設計03-19

    基于雙口RAM的LonWorks智能通信節點設計03-18

    基于Monte Carlo方法的通信仿真實現及應用研究03-30

    基于CPLD的RS485通信實現方法研究03-07

    基于VB的分布式監控系統通信設計03-18

    基于CAN總線的EV電控系統通信的設計與開發03-19

    基于CC1000的射頻光傳輸模塊FSK通信設計03-07

    主站蜘蛛池模板: 色哟哟国产精品免费观看| 亚洲精品tv久久久久久久久| 人妻少妇精品系列| 91精品美女在线| 久99久无码精品视频免费播放| 国产成人精品日本亚洲| 全国精品一区二区在线观看| 欧美性videofree精品| 久久国产免费观看精品3| 午夜三级国产精品理论三级| 99久久精品国产一区二区三区| 久久国产亚洲精品无码| 亚洲日韩国产精品乱| 精品午夜福利1000在线观看| 亚洲嫩草影院久久精品| 国产成人A人亚洲精品无码| 一本色道久久88精品综合| 欧美精品丝袜久久久中文字幕| 国产A级毛片久久久精品毛片| 国产精品666| 999久久久无码国产精品 | 欧美日韩国产中文精品字幕自在自线 | 亚洲国产另类久久久精品黑人 | 久久精品亚洲日本波多野结衣| 久久精品国产精品亚洲艾草网美妙| 99国产精品私拍pans大尺度| 欧美黑人巨大精品| 国产精品露脸国语对白| 精品无码国产一区二区三区51安| 午夜DY888国产精品影院| 一本久久精品一区二区| 亚洲欧美日韩国产精品| 四虎国产精品成人免费久久| 日韩精品中文字幕第2页| 日批日出水久久亚洲精品tv| 婷婷成人国产精品| 最新精品国偷自产在线| 久久青青草原精品国产| 亚洲国产精品无码久久98| 欧美午夜精品一区二区三区91 | 国产激情精品一区二区三区|