資源描述:
《畢業(yè)設(shè)計-vb中mscomm串行通信控件的使用方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、VB是VisualBasic的簡稱,是巾美國微軟公司于1991年開發(fā)的一種可視化的、而昀對象和采用事件驅(qū)動方式級程序設(shè)計語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。它簡單易學、效率高,且功能強大可以與Windows專業(yè)開發(fā)工具SDK相媲美。在VisualBasic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易川的可視化設(shè)計工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),動態(tài)鏈接庫(DLL)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以髙效、快速地開發(fā)環(huán)境下功能強大、閣形
2、界而豐富的應(yīng)用軟件系統(tǒng)。他的簡單易學可以使我們快速實現(xiàn)自己想在Windows下的軟件功能。小則可以做計算器、上位機等符合自己耑要的小軟件;大則可以連接數(shù)據(jù)庫做些管理系統(tǒng),比如某公司的人事管理系統(tǒng)。這里要說的是MSCOMM控件在VB屮的使用方法。MSComm作為一個串行通訊控件為程序員串口通訊編程節(jié)省了很多時間。在應(yīng)用屮加入一個MSComm控件非常簡單。在VB的常用控件里是沒有MSCOMM控件的,我們可以通過工程部件勾取Microsoftcommcontrol6.0來添加MSCOMM控件。下面,讓我們來丫解
3、其使用方法:1.串口通信基礎(chǔ)知識一般悅來,計算機都有一個或多個串行端口,它們依次為coml、Com2、,這芝申口還提供了外部設(shè)備與PC進行數(shù)據(jù)傳輸和通信的通道。這些串口在CPU和外設(shè)之間充當解釋器的角色。當字符數(shù)據(jù)從CPU發(fā)送給外設(shè)時,這些字符數(shù)據(jù)將被轉(zhuǎn)換成串行比特流數(shù)據(jù);當接收數(shù)據(jù)時,比特流數(shù)據(jù)被轉(zhuǎn)換為字符數(shù)據(jù)傳遞給CPU,再進一步說,在操作系統(tǒng)A面,Windows用通信驅(qū)動程序(COMM.DRV)調(diào)用API函數(shù)發(fā)送和接收數(shù)據(jù),i用通信控件或聲明調(diào)用API函數(shù)時,它門由COMM.DRV解釋并傳遞給設(shè)備驅(qū)
4、動程序,作為一個VB程序員,要編寫通信程序.只需知道通信控件提供給Windows通信API函數(shù)的接口即可.換句話說,只需設(shè)定和監(jiān)視通信控件的屬性和事件即可。2.使用Mscomm控件在開始使用MSComm控件之前。需要先了解其屬性、事件或錯誤屬性描述CommPort設(shè)罝或返lnl通信端口號Settings以字符串的形式設(shè)置或返回波特率、奇偶校驗、數(shù)據(jù)位和停止位PortOpen設(shè)置或返回通信端口的狀態(tài)。也可以打開和關(guān)閉端口Input返回和刪除接收緩沖區(qū)中的字符Output將字符$寫入發(fā)送緩沖區(qū)CommEven
5、t屬性為通信事件或錯誤返回下列值之一。在該控件的對象庫中也可以找到這些常量。常量值ComEventBreak1001ComEventCTSTO1002內(nèi),CTS(ClearToSend)描述收到了斷開信號ClearToSendTimeout。在發(fā)送字符時,在系統(tǒng)梢定的事1件線是低電平ComEventDSRTO1003DataSetReadyTimeout。在發(fā)送字符時,在系統(tǒng)指定的事件內(nèi),DSR(DataSetReady)線是低電平ComEventFrame1004數(shù)據(jù)幀錯誤。硬件檢測到一個數(shù)據(jù)幀錯誤Co
6、mEventOverrun1006端口溢出。硬件屮的字符尚未讀,下一個字符乂到達,并且丟失ComEventCDTO1007CarrierDetectTime。在發(fā)送字符吋,在系統(tǒng)指定的事件內(nèi),CD(CarrierDetect)線是低電平。CDComEventRxOver1008ComEventRxParity1009ComEventTxFull1010ComEventDCB1011錯誤也稱為RLSD(ReceiveLineSingalDetect,接收線信號檢測)接收緩沖區(qū)溢出。在接收緩沖區(qū)中沒有空間奇偶
7、校驗錯。硬件檢測到奇偶校驗錯誤7發(fā)送緩沖區(qū)滿。在對發(fā)送字符排隊時,發(fā)送緩沖區(qū)滿檢取端口DCB(DeviceControlBlick)時發(fā)生了沒有預(yù)料到的通信事件包含了下面的設(shè)置:常量值描述ComEvSend1發(fā)送緩沖區(qū)中的字符數(shù)比Sthreshold值低ComEvReceive2接收到了Rthreshold個字符。持續(xù)產(chǎn)生該事件,直到使用了Input屬性刪除了接收緩沖區(qū)中的數(shù)據(jù)ComEvCTSComEvDSR發(fā)生ComEvCD3CTS(ClearToSend)線改變4DSR(DataSetReady)線改
8、變。當DSR從1到0改變時,該事件5CD(CarrierDetect)線改變ComEvRing6檢測到響鈴信號。一些URAT(UniversalAsynchronousReciver--Transmitters,通用異步收發(fā)器)不支持該事件ComEvEOF7收到了EOF字符(ASCII字符26)Error消息(MSComm控件)下表列出了MSComm控件可捕獲的錯誤消息:常量值描述ComlnvalidPropertyvalue