MSCOMM控件的常用屬性和方法
利用MSComm控件實(shí)現(xiàn)計算機(jī)通信的關(guān)鍵是理解并正確設(shè)置MSComm控件眾多屬性和方法。以下是MSComm控件的常用屬性和方法:
●Commport:設(shè)置或返回串口號。
●Settings:以字符串的形式設(shè)置或返回串口通信參數(shù)。
●Portopen:設(shè)置或返回串口狀態(tài)。
●InputMode:設(shè)置或返回接收數(shù)據(jù)的類型。
●Inputlen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。
●InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。
●InBufferCount:設(shè)置或返回接收緩沖區(qū)中等待計算機(jī)接收的字符數(shù)。
●Input:從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū),該屬性設(shè)計時無效,運(yùn)行時只讀。
●OutBufferSize:設(shè)置或返回發(fā)送緩沖區(qū)的大小,缺省值為512字節(jié)。
●OutBufferCount:設(shè)置或返回發(fā)送緩沖區(qū)中等待計算機(jī)發(fā)送的字符數(shù)。
●Output:向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),該屬性設(shè)計時無效,運(yùn)行時只讀。
●Rthreshold:該屬性為一閥值。當(dāng)接收緩沖區(qū)中字符數(shù)達(dá)到該值時,MSComm控件設(shè)置Commevent屬性為ComEvReceive,并產(chǎn)生OnComm事件。用戶可在OnComm事件處理程序中進(jìn)行相應(yīng)處理。若Rthreshold屬性設(shè)置為0,則不產(chǎn)生OnComm事件。例如用戶希望接收緩沖區(qū)中達(dá)到一個字符就接收一個字符,可將Rthreshold設(shè)置為1。這樣接收緩沖區(qū)中接收到一個字符,就產(chǎn)生一次OnComm事件。
●Sthreshold:該屬性亦為一閥值。當(dāng)發(fā)送緩沖區(qū)中字符數(shù)小于該值時,MSComm控件設(shè)置Commevent屬性為ComEvSend,并產(chǎn)生OnComm事件。若Sthreshold屬性設(shè)置為0,則不產(chǎn)生OnComm事件。要特別注意的是僅當(dāng)發(fā)送緩沖區(qū)中字符數(shù)小于該值的瞬間才產(chǎn)生OnComm事件,其后就不再產(chǎn)生OnComm事件。例如Sthreshold設(shè)置為3,僅當(dāng)發(fā)送緩沖區(qū)中字符數(shù)從3降為2時,MSComm控件設(shè)置Commevent屬性為ComEvSend,同時產(chǎn)生OnComm事件,如發(fā)送緩沖區(qū)中字符始終為2,則不會再產(chǎn)生OnComm事件。這就避免了發(fā)送緩沖區(qū)中數(shù)據(jù)未發(fā)送完就反復(fù)發(fā)生OnComm事件。
●CommEvent:這是一個非常重要的屬性。該屬性設(shè)計時無效,運(yùn)行時只讀。一旦串口發(fā)生通信事件或產(chǎn)生錯誤,依據(jù)產(chǎn)生的事件和錯誤,MSComm控件為CommEvent屬性賦不同的代碼,同時產(chǎn)生OnComm事件。用戶程序就可在OnComm事件處理程序中針對不同的代碼,進(jìn)行相應(yīng)的處理。