国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
VB Mscomm控件串口通訊應(yīng)用1

VB Mscomm控件應(yīng)用

 

Visual Basic 6.0(以下簡(jiǎn)稱(chēng)VB) 是一種功能強(qiáng)大、簡(jiǎn)單易學(xué)的程序設(shè)計(jì)語(yǔ)言。它不但保留了原先Basic語(yǔ)言的全部功能,而且還增加了面向?qū)ο蟪绦蛟O(shè)計(jì)功能。它不僅可以方便快捷地編制適用于數(shù)據(jù)處理、多媒體等方面的程序,而且利用ActiveX控件MSComm還能十分方便地開(kāi)發(fā)出使用計(jì)算機(jī)串口的計(jì)算機(jī)通信程序。本文結(jié)合計(jì)算機(jī)通信的兩個(gè)例子,詳細(xì)介紹如何在VB中使用MSComm控件。

 

處理方式

MSComm控件提供了兩種處理通信的方式:一種為事件驅(qū)動(dòng)方式,該方式相當(dāng)于一般程序設(shè)計(jì)中的中斷方式。當(dāng)串口發(fā)生事件或錯(cuò)誤時(shí),MSComm控件會(huì)產(chǎn)生OnComm事件,用戶(hù)程序可以捕獲該事件進(jìn)行相應(yīng)處理。本文的兩個(gè)例子均采用該方式。另一種為查詢(xún)方式,在用戶(hù)程序中設(shè)計(jì)定時(shí)或不定時(shí)查詢(xún)MSComm控件的某些屬性是否發(fā)生變化,從而確定相應(yīng)處理。在程序空閑時(shí)間較多時(shí)可以采用該方式。

常用屬性和方法

利用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ù)的類(lèi)型。

Inputlen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。

InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。

InBufferCount:設(shè)置或返回接收緩沖區(qū)中等待計(jì)算機(jī)接收的字符數(shù)。

Input:從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū),該屬性設(shè)計(jì)時(shí)無(wú)效,運(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í)無(wú)效,運(yùn)行時(shí)只讀。

Rthreshold:該屬性為一閥值。當(dāng)接收緩沖區(qū)中字符數(shù)達(dá)到該值時(shí),MSComm控件設(shè)置Commevent屬性為ComEvReceive,并產(chǎn)生OnComm事件。用戶(hù)可在OnComm事件處理程序中進(jìn)行相應(yīng)處理。若Rthreshold屬性設(shè)置為0,則不產(chǎn)生OnComm事件。例如用戶(hù)希望接收緩沖區(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í)無(wú)效,運(yùn)行時(shí)只讀。一旦串口發(fā)生通信事件或產(chǎn)生錯(cuò)誤,依據(jù)產(chǎn)生的事件和錯(cuò)誤,MSComm控件為CommEvent屬性賦不同的代碼,同時(shí)產(chǎn)生OnComm事件。用戶(hù)程序就可在OnComm事件處理程序中針對(duì)不同的代碼,進(jìn)行相應(yīng)的處理。CommEvent屬性的代碼、常數(shù)及含義參見(jiàn)表1及表2。

1 CommEvent通信事件

代碼       常數(shù)       含義

1     ComEvReceive       接受到Rthreshold個(gè)字符。該事件將持續(xù)產(chǎn)生,直到用Input屬性從接受緩沖區(qū)中讀取并刪除字符。

2     ComEvSend    發(fā)送緩沖區(qū)中數(shù)據(jù)少于Sthreshold個(gè),說(shuō)明串口已經(jīng)發(fā)送了一些數(shù)據(jù),程序可以用Output屬性繼續(xù)發(fā)送數(shù)據(jù)。

3     ComEvCTS    Clear To Send信號(hào)線(xiàn)狀態(tài)發(fā)生變化。

4     ComEvDSR    Data Set Ready信號(hào)線(xiàn)狀態(tài)從1變到0。

5     ComEvCD      Carrier Detect信號(hào)線(xiàn)狀態(tài)發(fā)生變化。

6     ComEvRing    檢測(cè)到振鈴信號(hào)。

7     ComEvEOF    接受到文件結(jié)束符。

2 CommEvent通信錯(cuò)誤

代碼       常數(shù)       含義

1001       ComEvntBreak       接受到一個(gè)中斷信號(hào)。

1002       ComEvntCTSTO    Clear To Send信號(hào)超時(shí)。

1003       ComEvntDSRTO    Data Set Ready信號(hào)超時(shí)。

1004       ComEvntFrame      幀錯(cuò)誤。

1006       ComEvntOverrun   串口超速。

1007       ComEvntCDTO     載波檢測(cè)超時(shí)。

1008       ComEvntRxOver    接受緩沖區(qū)溢出,緩沖區(qū)中已沒(méi)有空間。

1009       ComEvntRxParity   奇偶校驗(yàn)錯(cuò)。

1010       ComEvntTxFull      發(fā)送緩沖區(qū)溢出,緩沖區(qū)中已沒(méi)有空間。

1011       ComEvntDCB 檢索串口的設(shè)備控制塊時(shí)發(fā)生錯(cuò)誤。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VB6.0環(huán)境下利用Mscomm控件實(shí)現(xiàn)串行通信
用vs2010開(kāi)發(fā)基于VC++的MFC 串口通信一*****兩臺(tái)電腦同一個(gè)串口號(hào)之間的通信
串口通訊-基本知識(shí)-MSComm 控件
(三)MSComm控件進(jìn)行串口編程的基本步驟
VB下實(shí)現(xiàn)串口通信的方法
用Powerbuilder8
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服