1. 程式人生 > >串列埠通訊-MSComm控制元件使用詳解

串列埠通訊-MSComm控制元件使用詳解

ComPort屬性:設定並返回通訊埠號。
語法 object.CommPort[value ] (value 一整型值,說明埠號。) 
說明 在設計時,value 可以設定成從 1 到 16 的任何數(預設值為 1)。但是如果用 PortOpen 屬性開啟一個並不存在的埠時,MSComm 控制元件會產生錯誤 68(裝置無效)。
注意:必須在開啟埠之前設定 CommPort 屬性。

RThreshold屬性:在 MSComm 控制元件設定 CommEvent 屬性為 comEvReceive 併產生 OnComm 之前,設定並返回的要接收的字元數。
語法 object.Rthreshold [ = value ](value 整型表示式,說明在產生 OnComm 事件之前要接收的字元數。 )

說明 當接收字元後,若 Rthreshold 屬性設定為 0(預設值)則不產生 OnComm 事件。例如,設定 Rthreshold 為 1,接收緩衝區收到每一個字元都會使 MSComm 控制元件產生 OnComm 事件。

CTSHolding屬性:確定是否可通過查詢 Clear To Send (CTS) 線的狀態傳送資料。Clear To Send 是調變解調器傳送到相聯計算機的訊號,指示傳輸可以進行。該屬性在設計時無效,在執行時為只讀。
語法: object.CTSHolding(Boolean)

Mscomm 控制元件的 CTSHolding 屬性設定值:
True Clear To Send 線為高電平。 

False Clear To Send 線為低電平。 

說明:如果 Clear To Send 線為低電平 (CTSHolding = False) 並且超時時,MSComm 控制元件設定 CommEvent 屬性為 comEventCTSTO (Clear To Send Timeout) 併產生 OnComm 事件。

Clear To Send 線用於 RTS/CTS (Request To Send/Clear To Send) 硬體握手。如果需要確定 Clear To Send 線的狀態,CTSHolding 屬性給出一種手工查詢的方法。

詳細資訊 有關握手協議,請參閱 Handshaking 屬性。


SThreshold屬性: MSComm 控制元件設定 CommEvent 屬性為 comEvSend 併產生 OnComm 事件之前,設定並返回傳輸緩衝區中允許的最小字元數。

語法 object.SThreshold [ = value ]
value 整形表示式,代表在 OnComm 事件產生之前在傳輸緩衝區中的最小字元數。 

說明:若設定 Sthreshold 屬性為 0(預設值),資料傳輸事件不會產生 OnComm 事件。若設定 Sthreshold 屬性為 1,當傳輸緩衝區完全空時,MSComm 控制元件產生 OnComm 事件。如果在傳輸緩衝區中的字元數小於 value,CommEvent 屬性設定為 comEvSend,併產生 OnComm 事件。comEvSend 事件僅當字元數與 Sthreshold 交叉時被啟用一次。例如,如果 Sthreshold 等於 5,僅當在輸出佇列中字元數從 5 降到 4 時,comEvSend 才發生。如果在輸出佇列中從沒有比 Sthreshold 多的字元,comEvSend 事件將絕不會發生。


HandShake 常數
常數               值           描述 
comNone            0          無握手。 
comXonXoff         1          XOn/Xoff 握手。 
comRTS             2          Request-to-send/clear-to-send 握手。 
comRTSXOnXOff      3          Request-to-send 和 clear-to-send 握手皆可。 

OnComm 常數
常數               值           描述 
comEvSend          1         傳送事件。 
comEvReceive       2         接收事件。 
comEvCTS           3         clear-to-send 線變化。 
comEvDSR           4         data-set ready 線變化。 
comEvCD            5         carrier detect 線變化。 
comEvRing          6         振鈴檢測。 
comEvEOF           7         檔案結束。 


Error常數
常數              值             描述 
comEventBreak    1001        接收到中斷訊號 
comEventCTSTO    1002        Clear-to-send 超時 
comEventDSRTO    1003        Data-set ready 超時 
comEventFrame    1004        幀錯誤 
comEventOverrun  1006        埠超速 
comEventCDTO     1007        Carrier detect 超時 
comEventRxOver   1008        接收緩衝區溢位 
comEventRxParity 1009        Parity 錯誤 
comEventTxFull   1010        傳輸緩衝區滿 
comEventDCB      1011        檢索埠 裝置控制塊 (DCB) 時的意外錯誤