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