VB.NET控件介紹MSComm總結概括篇
B.NET還是比較常用的,于是我研究了一下VB.NET控件,在這里拿出來和大家分享一下,希望對大家有用。大MSComm控件提供了兩種處理通信的方式:一種為事件驅動方式,該方式相當于一般程序設計中的中斷方式。當串口發生事件或錯誤時,MSComm控件會產生OnComm事件,用戶程序可以捕獲該事件進行相應處理。本文的兩個例子均采用該方式。另一種為查詢方式,在用戶程序中設計定時或不定時查詢 MSComm控件的某些屬性是否發生變化,從而確定相應處理。在程序空閑時間較多時可以采用該方式。
常用屬性和方法
利用MSComm控件實現計算機通信的關鍵是理解并正確設置MSComm控件眾多屬性和方法。以下是VB.NET控件介紹:
MSComm控件的常用屬性和方法:
◆Commport:設置或返回串口號。
◆Settings:以字符串的形式設置或返回串口通信參數。
◆Portopen:設置或返回串口狀態。
◆InputMode:設置或返回接收數據的類型。
◆Inputlen:設置或返回一次從接收緩沖區中讀取字節數。
◆InBufferSize:設置或返回接收緩沖區的大小,缺省值為1024字節。
◆InBufferCount:設置或返回接收緩沖區中等待計算機接收的字符數。
◆Input:從接收緩沖區中讀取數據并清空該緩沖區,該屬性設計時無效,運行時只讀。
◆OutBufferSize:設置或返回發送緩沖區的大小,缺省值為512字節。
◆OutBufferCount:設置或返回發送緩沖區中等待計算機發送的字符數。
◆Output:向發送緩沖區發送數據,該屬性設計時無效,運行時只讀。
◆Rthreshold:該屬性為一閥值。當接收緩沖區中字符數達到該值時,MSComm控件設置Commevent屬性為ComEvReceive,并產生OnComm事件。用戶可在OnComm事件處理程序中進行相應處理。若Rthreshold屬性設置為0,則不產生OnComm事件。例如用戶希望接收緩沖區中達到一個字符就接收一個字符,可將Rthreshold設置為1。這樣接收緩沖區中接收到一個字符,就產生一次OnComm事件。
◆Sthreshold:該屬性亦為一閥值。當發送緩沖區中字符數小于該值時,MSComm控件設置Commevent屬性為ComEvSend,并產生 OnComm事件。若Sthreshold屬性設置為0,則不產生OnComm事件。要特別注意的是僅當發送緩沖區中字符數小于該值的瞬間才產生 OnComm事件,其后就不再產生OnComm事件。例如Sthreshold設置為3,僅當發送緩沖區中字符數從3降為2時,MSComm控件設置 Commevent屬性為ComEvSend,同時產生OnComm事件,如發送緩沖區中字符始終為2,則不會再產生OnComm事件。這就避免了發送緩沖區中數據未發送完就反復發生OnComm事件。
◆CommEvent:這是一個非常重要的屬性。該屬性設計時無效,運行時只讀。一旦串口發生通信事件或產生錯誤,依據產生的事件和錯誤,MSComm控件為CommEvent屬性賦不同的代碼,同時產生OnComm事件。用戶程序就可在OnComm事件處理程序中針對不同的代碼,進行相應的處理。
一 VB.NET控件介紹之CommEvent通信事件 代碼 常數 含義
1 ComEvReceive 接受到Rthreshold個字符。該事件將持續產生,直到用Input屬性從接受緩沖區中讀取并刪除字符。
2 ComEvSend 發送緩沖區中數據少于Sthreshold個,說明串口已經發送了一些數據,程序可以用Output屬性繼續發送數據。
3 ComEvCTS Clear To Send信號線狀態發生變化。
4 ComEvDSR Data Set Ready信號線狀態從1變到0。
5 ComEvCD Carrier Detect信號線狀態發生變化。
6 ComEvRing 檢測到振鈴信號。
7 ComEvEOF 接受到文件結束符。
二 VB.NET控件介紹之CommEvent通信錯誤 代碼 常數 含義
1001 ComEvntBreak 接受到一個中斷信號。
1002 ComEvntCTSTO Clear To Send信號超時。
1003 ComEvntDSRTO Data Set Ready信號超時。
1004 ComEvntFrame 幀錯誤。
1006 ComEvntOverrun 串口超速。
1007 ComEvntCDTO 載波檢測超時。
1008 ComEvntRxOver 接受緩沖區溢出,緩沖區中已沒有空間。
1009 ComEvntRxParity 奇偶校驗錯。
1010 ComEvntTxFull 發送緩沖區溢出,緩沖區中已沒有空間。
1011 ComEvntDCB 檢索串口的設備控制塊時發生錯誤。
【編輯推薦】