資源描述:
《mscomm控件使用詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、MSComm控件使用詳解2008-04-0619:15:39
2、分類:Windows編程
3、舉報(bào)
4、字號(hào)訂閱MSComm控件使用詳解MSComm控件的常用屬性1.MSComm1.Settings:=’9600,n,8,1’;//設(shè)置波特率,校驗(yàn)位,數(shù)據(jù)位,停止位Settings屬性:設(shè)置串口的波特率,校驗(yàn)位,數(shù)據(jù)位,停止位,’9600,n,8,1’表示波特率為9600,無(wú)奇偶校驗(yàn),數(shù)據(jù)位為8為,1位停止位MSComm1.InBufferSize:=1024;//接受緩沖區(qū)大小InBufferSize屬性:接收緩沖區(qū)的大小,默認(rèn)值為1024,也可以自己設(shè)定,比如,
5、MSComm1.InBufferSize:=2000,則接收緩沖區(qū)的大小為2000字節(jié)MSComm1.OutBufferSize:=1024;//發(fā)送緩沖區(qū)大小OutBufferSize屬性:發(fā)送緩沖區(qū)的大小,默認(rèn)值為1024,也可以自己設(shè)定,比如,MSComm1.OutBufferSize:=2000,則發(fā)送緩沖區(qū)的大小為2000字節(jié)MSComm1.InBufferCount:=0;//清空接受緩沖區(qū)InBufferCount屬性:當(dāng)前接收緩沖區(qū)接收到的數(shù)據(jù)的長(zhǎng)度,count:=MSComm1.InBufferCount,則count值就是接收緩沖區(qū)接收
6、到的數(shù)據(jù)的長(zhǎng)度,對(duì)InBufferCount賦值MSComm1.InBufferCount:=0,可以清空接受緩沖區(qū)MSComm1.OutBufferCount:=0;//清空發(fā)送緩沖區(qū)OutBufferCount屬性:當(dāng)前發(fā)送緩沖區(qū)中數(shù)據(jù)的長(zhǎng)度,對(duì)OutBufferCount賦值MSComm1.OutBufferCount:=0,可以清空發(fā)送緩沖區(qū)MSComm1.InputMode:=comInputModeText;//以文本方式取回?cái)?shù)據(jù)MSComm1.InputMode:=comInputModeBinary;//設(shè)置接收數(shù)據(jù)模式為二進(jìn)制形式Inpu
7、tMode屬性:串口接收數(shù)據(jù)的模式,comInputModeText(0)表示以文本(ASCII)方式取回?cái)?shù)據(jù),comInputModeBinary(1)表示以二進(jìn)制方式取回?cái)?shù)據(jù)comInputModeText,comInputModeBinary為預(yù)定義常量,分別表示0,1RcvByte:=MSComm1.InputInput屬性:通過(guò)Input屬性可以讀取串口中接收到的數(shù)據(jù),RcvByte:=MSComm1.Input表示讀取串口接收到的數(shù)據(jù),其中RcvByte的數(shù)據(jù)類型為:arrayofByte或arrayofVariant.在讀取之前先設(shè)置RcvB
8、yte的長(zhǎng)度:SetLength(RcvByte,len),如果一次讀取所有數(shù)據(jù),則SetLength(RcvByte,MSComm1.InBufferCount)MSComm1.Output:=OutputDatOutput屬性:通過(guò)Output屬性可以發(fā)送數(shù)據(jù),MSComm1.Output:=OutputDat,則將OutputDat中的數(shù)據(jù)發(fā)送出去,其中OutputDat數(shù)據(jù)類型為arrayofByte,發(fā)送前要設(shè)置OutputDat的長(zhǎng)度,SetLength(OutputDat,len),然后向OutputDat中填入數(shù)據(jù),再清空發(fā)送緩沖區(qū)MSCo
9、mm1.OutBufferCount:=0,然后再發(fā)送MSComm1.Output:=OutputDatMSComm1.InputLen:=0;//////////////一次讀取所有數(shù)據(jù)/////////InputLen屬性:一次從Input屬性中讀取數(shù)據(jù)的長(zhǎng)度,MSComm1.InputLen:=1,表示一次讀取一個(gè)字節(jié),如果MSComm1.InputLen:=0,則表示一次讀取全部數(shù)據(jù)MSComm1.SThreshold:=0;//一次發(fā)送所有數(shù)據(jù),發(fā)送數(shù)據(jù)時(shí)不產(chǎn)生OnComm事件SThreshold屬性:通過(guò)該屬性設(shè)置產(chǎn)生OnComm事件(發(fā)送時(shí)產(chǎn)
10、生)的閥值,若MSComm1.SThreshold:=0,則一次發(fā)送所有數(shù)據(jù),發(fā)送數(shù)據(jù)時(shí)不產(chǎn)生OnComm事件,若MSComm1.SThreshold:=5,當(dāng)發(fā)送緩沖區(qū)的字節(jié)數(shù)從5字節(jié)減少到4字節(jié)時(shí),產(chǎn)生OnComm事件MSComm1.RThreshold:=1;////////////每接收1個(gè)字節(jié)就產(chǎn)生一個(gè)OnComm事件RThreshold屬性:通過(guò)該屬性設(shè)置產(chǎn)生OnComm事件(接收時(shí)產(chǎn)生)的閥值,若MSComm1.RThreshold:=0,不產(chǎn)生OnComm事件,若MSComm1.RThreshold:=5,接收緩沖區(qū)每收到5字節(jié)時(shí),則產(chǎn)生O
11、nComm事件MSComm1.PortOpen:=True;//打