當前位置:編程學習大全網 - 編程語言 - 用VB怎麽做COM口通訊`

用VB怎麽做COM口通訊`

Private Sub Command1_Click()

MSComm1.Output = "123456"

End Sub

Private Sub Form_Load()

MSComm1.PortOpen = True

MSComm1.RThreshold = 1

MSComm1.SThreshold = 1

MSComm1.InputMode = comInputModeText

Text1 = ""

End Sub

Private Sub MSComm1_OnComm()

Select Case MSComm1.CommEvent

Case comEvSend

Text1 = "comEvSend"

Case comEvReceive

Text1 = "comEvReceive"

Case comEvCTS

Text1 = "comEvCTS"

Case comEvDSR

Text1 = "comEvDSR"

Case comEvCD

Text1 = "comEvCD"

Case comEvRing

Text1 = "comEvRing"

Case comEvEOF

Text1 = "comEvEOF"

End Select

End Sub

以下參考MSDN:

OnComm 常數

常數 值 描述

comEvSend 1 發送事件。

comEvReceive 2 接收事件。

comEvCTS 3 clear-to-send 線變化。

comEvDSR 4 data-set ready 線變化。

comEvCD 5 carrier detect 線變化。

comEvRing 6 振鈴檢測。

comEvEOF 7 文件結束。

MSComm 控件提供下列兩種處理通訊的方式:

事件驅動通訊是處理串行端口交互作用的壹種非常有效的方法。在許多情況下,在事件發生時需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 線上壹個字符到達或壹個變化發生時。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲並處理這些通訊事件。OnComm 事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 CommEvent 屬性。

在程序的每個關鍵功能之後,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,並且是自保持的,這種方法可能是更可取的。例如,如果寫壹個簡單的電話撥號程序,則沒有必要對每接收壹個字符都產生事件,因為唯壹等待接收的字符是調制解調器的“確定”響應。

SThreshold 屬性

在 MSComm 控件設置 CommEvent 屬性為 comEvSend 並產生 OnComm 事件之前,設置並返回傳輸緩沖區中允許的最小字符數。

說明

若設置 Sthreshold 屬性為 0(缺省值),數據傳輸事件不會產生 OnComm 事件。若設置 Sthreshold 屬性為 1,當傳輸緩沖區完全空時,MSComm 控件產生 OnComm 事件。

如果在傳輸緩沖區中的字符數小於 value,CommEvent 屬性設置為 comEvSend,並產生 OnComm 事件。comEvSend 事件僅當字符數與 Sthreshold 交叉時被激活壹次。例如,如果 Sthreshold 等於 5,僅當在輸出隊列中字符數從 5 降到 4 時,comEvSend 才發生。如果在輸出隊列中從沒有比 Sthreshold 多的字符,comEvSend 事件將絕不會發生。

CommEvent 屬性包含實際錯誤或產生 OnComm 事件的數碼。註意,設置 Rthreshold 或 Sthreshold 屬性為 0,分別使捕獲 comEvReceive 和 comEvSend 事件無效。

建立工程文件,在菜單工程(P)下拉菜單中選部件(O),在其屬性頁中找MICROSOFT COMM CONTROL6.0,對選鉤方框打鉤,就能在工具箱中出現電話機樣的MSCOMM控件.將其添加到窗體上.

MSComm 控件

MSComm 控件通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能。

語法

MSComm

說明

MSComm 控件提供下列兩種處理通訊的方式:

事件驅動通訊是處理串行端口交互作用的壹種非常有效的方法。在許多情況下,在事件發生時需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 線上壹個字符到達或壹個變化發生時。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲並處理這些通訊事件。OnComm 事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 CommEvent 屬性。

在程序的每個關鍵功能之後,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,並且是自保持的,這種方法可能是更可取的。例如,如果寫壹個簡單的電話撥號程序,則沒有必要對每接收壹個字符都產生事件,因為唯壹等待接收的字符是調制解調器的“確定”響應。

每個使用的 MSComm 控件對應著壹個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個 MSComm 控件。可以在 Windows“控制面板”中改變端口地址和中斷地址。

盡管 MSComm 控件有很多重要的屬性,但首先必須熟悉幾個屬性。

屬性 描述

CommPort 設置並返回通訊端口號。

Settings 以字符串的形式設置並返回波特率、奇偶校驗、數據位、停止位。

PortOpen 設置並返回通訊端口的狀態。也可以打開和關閉端口。

Input 從接收緩沖區返回和刪除字符。

Output 向傳輸緩沖區寫壹個字符串

詳細請參閱MSDN和人民郵電出版社的"UISUAL BASIC 串口通訊工程開發實例導航"壹書.其中有詳細介紹.

  • 上一篇:震驚世界的Magic Leap與微軟的Hololens有哪些異同
  • 下一篇:華中數控系統?
  • copyright 2024編程學習大全網