below each case statement Errors Case comEventBreak A Break was received. Case comEventCDTO CD (RLSD) Timeout. Case comEventCTSTO CTS Timeout. Case comEventDSRTO DSR Timeout. Case comEventFrame Framing Error Case comEventOverrun Data Lost. Case comEventRxOver Receive buffer overflow. Case comEventRxParity Parity Error. Case comEventTxFull Transmit buffer full. Case comEventDCB Unexpected error retrieving DCB] Events Case comEvCD Change in the CD line. Case comEvCTS Change in the CTS line. Case comEvDSR Change in the DSR line. Case comEvRing Change in the Ring Indicator. Case comEvReceive Received RThreshold # of chars. Case comEvSend There are SThreshold number of characters in the transmit buffer. Case comEvEof An EOF charater was found in the input stream End Select End Sub OutBufferCount 屬性 返回在發(fā)送緩沖區(qū)中等待的字符數(shù)。你可以使用該屬性清除發(fā)送緩沖區(qū)。 該屬性在設計時不可用。 應用于 MSComm控件。 語法 object.OutBufferCount [=value] OutBufferCount屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個整數(shù)表達式,指定發(fā)送緩沖區(qū)中等待的字符數(shù) 說明 將OutBufferCount屬性置為0將清除發(fā)送緩沖區(qū)。 注意:不要將OutBufferCount屬性與OutBufferSize屬性混淆起來。 數(shù)據(jù)類型 IntegerOutBufferSize 屬性 返回或設置發(fā)送緩沖區(qū)的字節(jié)大小。 應用于 MSComm控件。 語法 object.OutBufferSize [=value] OutBufferSize屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個整數(shù)表達式,指定發(fā)送緩沖區(qū)的字節(jié)大小 說明 OutBufferSize 指整個發(fā)送緩沖區(qū)的大小。缺省值是512 字節(jié)。不要將該屬性與OutBufferCount 屬性混淆起來 OutBufferCount 屬性反映的是發(fā)送緩沖區(qū)當前等待的字節(jié)數(shù)。 注意:對發(fā)送緩沖區(qū)設置的越大,應用程序可以使用的內(nèi)存就越少。 然而,如果你的發(fā)送緩沖區(qū)太小,緩沖區(qū)將會溢出,除非使用握手協(xié)議。 通常,將緩沖區(qū)設置為512 字節(jié)。如果發(fā)生了溢出,就增大該緩沖區(qū), 以滿足你的應用程序傳輸速率。 數(shù)據(jù)類型 Integer Output屬性 將數(shù)據(jù)寫入發(fā)送緩沖區(qū)。該屬性在設計時不可用,在運行時是只寫的。 應用于 MSComm控件。 語法 object.Output [=value] Output屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個字符串,是寫入發(fā)送緩沖區(qū)中的字符 說明 Output 屬性可以發(fā)送文本數(shù)據(jù)或二進制數(shù)據(jù)。要使用Output 屬性發(fā)送文本 數(shù)據(jù),你必須指明包含字符串的一個Variant 變量。要發(fā)送二進制數(shù)據(jù),必須將 包含字節(jié)矩陣的Variant變量傳遞給Output屬性。 通常,如果你給應用程序發(fā)送ANSI 字符串,可以文本方式發(fā)送。如果數(shù) 據(jù)包含了內(nèi)嵌控制字符、Null字符等,必須將其作為二進制傳遞過去。 數(shù)據(jù)類型 Variant 示例 下面的例子演示了如何將用戶輸入的字符發(fā)送給串口。 Private Sub Form_KeyPress (KeyAscii As Integer) Dim Buffer as Variant Set and open port MSComm1.CommPort = 1 MSComm1.PortOpen = True Buffer = Chr$(KeyAscii) MSComm1.Output = Buffer End Sub ParityReplace 屬性 設置或返回一個字符,該字符在方式了奇偶校驗錯誤時將替換數(shù)據(jù)流中的無效字符。 應用于 MSComm控件。 語法 object.ParityReplace [=value] ParityReplace屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 字符串表達式,表示替換字符,如“說明”中所示 說明 parity bit 是一個比特位,與指定的數(shù)據(jù)比特一起傳送,可以提供一定的錯誤檢測功能。 當你使用奇偶校驗位時,MSComm 控件將數(shù)據(jù)中所有設置(即“1”)的比特位相加,來檢測結(jié)果的奇偶性(根 據(jù)端口的奇偶設置)。 缺省地,控件使用問號(“?”)替換無效字符。將ParityReplace 屬性設置為空字符串("")將在奇偶校驗 錯誤時不替換無效字符,但仍將CommEvent屬性設置為commEventRXParity并觸發(fā)OnComm事件。 ParityReplace 字符是面向字節(jié)的操作,必須是單字節(jié)字符。你可以指定任意的0到255的ANSI字符作為替換字 符。 數(shù)據(jù)類型 String PortOpen屬性 設置或返回通信端口的狀態(tài)(打開或關閉)。在設計時該屬性不可用。 應用于 MSComm控件。 語法 object.PortOpen [=value] PortOpen屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個布爾表達式,指定通信端口的狀態(tài) 說明 將PortOpen 屬性設置為True 將打開端口。設置為False 將關閉端口并清除接收和發(fā)送緩沖區(qū)。當你的應用程 序終止時,MSComm控件將自動關閉串口。 在打開端口前,確定CommPort 屬性設置為正確的端口號。如果CommPort屬性設置為無效的端口號,在你試圖打 開端口時,MSComm 控件將產(chǎn)生error 68(Device unavailable)錯誤。 而且,你的串口設備必須支持Settings 屬性中的設置。如果你的硬件設備不支持Settings屬性中的一些設置, 則你的硬件工作或許不正確。 如果端口在打開之前將DTREnable 或RTSEnable 屬性設置為True,則當端口關閉時這些屬性就自動設置為False 。另外,DTR 和RTS 線保持它們原來的狀態(tài)。 數(shù)據(jù)類型 Boolean 示例 下面的例子打開端口1,波特率是9600,沒有奇偶校驗,8 個數(shù)據(jù)位,一個停止位。 MSComm1.Settings = "9600 n 81" MSComm1.CommPort = 1 MSComm1.PortOpen =True RThreshold屬性 設置或返回在MSComm 控件將CommEvent 屬性設置為comEvReceive 并在產(chǎn)生OnComm事件之前所接收的字符數(shù)。 應用于MSComm控件。 語法 object.Rthreshold [=value] RThreshold屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個整數(shù)表達式,指定產(chǎn)生OnComm事件之前接收的字符數(shù) 說明 將RThreshold屬性設置為0(缺?。⒃诮邮兆址麜r不產(chǎn)生OnComm事件。 例如,將RThreshold 屬性設置為1 將導致MSComm 控件在每個字符放入緩沖區(qū)時就觸發(fā)OnComm事件。 數(shù)據(jù)類型 Integer RTSEnable 屬性 確定是否使用RTS(Request To Send)線。通常RTS信號是計算機發(fā)送該連接的調(diào)制解調(diào)器,請求準許發(fā)送數(shù)據(jù) 。應用于MSComm控件。 語法 object. RTSEnable [=value] RTSEnable屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個布爾表達式,指定是否使用RTS線,如“設置”中所示 設置 value 值的設置如下: 設置描述 True 使用RTS線 False (缺?。┎皇褂肦TS線 說明 當RTSEnable 屬性設置為True 時,打開端口將把RTS 線置為高,關閉端口將把RTS線置為低。 在RTS/CTS 握手協(xié)議中使用RTS 線。如果你需要確定RTS 線的狀態(tài),RTSEnable屬性允許你手工檢測該線。 想了解有關握手協(xié)議中的更多信息,請參閱HardShaking屬性。 數(shù)據(jù)類型 Boolean Settings屬性 設置或返回波特率、奇偶校驗、數(shù)據(jù)位和停止位參數(shù)。 應用于MSComm控件。 語法 object.Settings [=value] Settings 屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個字符串表達式,代表通信端口設置,如下所示 說明 當端口打開時value 值設置不正確,MSComm 控件就產(chǎn)生error 380(Invalidproperty value)錯誤。 value 由4部分組成,格式如下: “BBBB P D S” BBBB 是波特率,P 是奇偶校驗,D 是數(shù)據(jù)位,S 是停止位。Value 的缺省值如下: " 9600 N 8 1" 下表列出了有效的波特率: 設置 110 300 600 1200 2400 9600(缺省) 14400 19200 28800 38400(保留) 56000(保留) 128000(保留) 256000(保留) 下表列出了有效的奇偶校驗值: 設置描述 E 偶校驗 M 屏蔽 N (缺?。㎞one O 奇校驗 S 空格 下表列出了有效的數(shù)據(jù)位: 設置 4 5 6 7 8(缺?。?BR>下表列出了有效的停止位: 設置 1(缺省) 1.5 2 數(shù)據(jù)類型 String 示例 下面的例子將端口設置為波特率9600,沒有奇偶校驗,8 個數(shù)據(jù)位,一個停止位。 MSComm1.Settings = "9600 N 8 1" SThreshold屬性 設置或返回在MSComm控件將CommEvent 屬性設置為comEvSend 并產(chǎn)生OnComm事件之前所發(fā)送緩沖區(qū)中允許的最 少字符數(shù)。 應用于 MSComm控件。 語法 object.Sthreshold [=value] SThreshold屬性的語法有如下幾個部分: 部分描述 object 對象表達式,其值是“應用于”列表中的一個對象 value 一個整數(shù)表達式,指定產(chǎn)生OnComm 事件之前發(fā)送緩沖區(qū)中的最少字符數(shù) 說明 將SThreshold屬性設置為0(缺省)將在發(fā)送字符時不產(chǎn)生OnComm事件。 例如,將SThreshold屬性設置為1將導致發(fā)送緩沖區(qū)完全變空。 如果發(fā)送緩沖區(qū)中的字符比value 值小,則將CommEvent 屬性設置為 comEvSend,并產(chǎn)生OnComm 事件。comEvSend 事件只產(chǎn)生一次,在字符數(shù)低于SThreshold 時。例如,如果 SThreshold 等于5,當字符數(shù)從5 降低到4 時產(chǎn)生一次comEvSend事件。如果輸出隊列中的字符數(shù)總不多于 SThreshold屬性值, 則永不產(chǎn)生該事件。 數(shù)據(jù)類型 Integer |