![串口通訊控件使用詳解_第1頁](http://file4.renrendoc.com/view/16f76442de2c9ebbb9520e41e053ca8c/16f76442de2c9ebbb9520e41e053ca8c1.gif)
![串口通訊控件使用詳解_第2頁](http://file4.renrendoc.com/view/16f76442de2c9ebbb9520e41e053ca8c/16f76442de2c9ebbb9520e41e053ca8c2.gif)
![串口通訊控件使用詳解_第3頁](http://file4.renrendoc.com/view/16f76442de2c9ebbb9520e41e053ca8c/16f76442de2c9ebbb9520e41e053ca8c3.gif)
![串口通訊控件使用詳解_第4頁](http://file4.renrendoc.com/view/16f76442de2c9ebbb9520e41e053ca8c/16f76442de2c9ebbb9520e41e053ca8c4.gif)
![串口通訊控件使用詳解_第5頁](http://file4.renrendoc.com/view/16f76442de2c9ebbb9520e41e053ca8c/16f76442de2c9ebbb9520e41e053ca8c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
m:本文詳細介紹 m控件在串口編程中使用 mCommPort屬性RThreshold屬性CTSHolding屬性SThreshold屬性CDHolding屬性DSRHolding屬性Settings屬性InputLen屬性EOFEnable屬性Handshake常m常數(shù)InputMode常數(shù)m m控件在串口編程時非常方便,程序員不必去花時間去了解較為復雜的API函數(shù)而且在VCVBDelphi等語言中均可使用 Contrl下簡稱m是公司提供的簡化Windows下串行通信編程的ActiveXmm控件提供下列兩種處理通訊的方式:事件驅(qū)動方式和事件驅(qū)動通訊是處理串行端互作用的一種非常有效的方法。緩沖區(qū)中有字符,或者CarrierDetect(CD)或RequestToSend(RTS)線上一個字符到達或一個變化發(fā)生時。在這些情況下,可 m控件的 m事件捕獲并處理這些通訊 m事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱CommEvent屬性。在編程過程中, m事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點是程序響應及時,可靠性高。每個m控件對使用多個m控件。更為便捷。在程序的每個關鍵功能之后,可以通過檢查ComEvent屬性的值來查詢事件和錯誤。如果應用程序較小,簡單的撥號程序,則沒有必要對每接收一個字符都產(chǎn)生事件,因為唯一等待接收的字符是調(diào)制解調(diào)器的“確定”響應。mmCommPort設置并返回通訊端SettingsPortOpen設置并返回通訊端口的狀態(tài)。也可以打開和關閉端口InputOutput向傳輸緩沖區(qū)寫一個字符串CommPort屬性設置并返回通訊端 mPort[value](value一整型值,說明端。)說明在設計時,value可以設置成從1到16的任何數(shù)(缺省值為1。但是如果用PortOpen屬性打開一個并不存在的端口 m控件會產(chǎn)生錯誤68(設備無效。CommPortRThreshold屬性:在m控件設置CommEvent屬性為comEvReceive并產(chǎn)生m之前,設置并返回的要接收的object.Rthresholdvalue(value整型表達式,說明在產(chǎn)生m事件之前要接收的字符數(shù)。)Rthreshold0(缺省值)則不產(chǎn)生m事件。例如,設置Rthreshold為1,接收緩沖區(qū)收到每一個字符都會使m控件產(chǎn)生m事CTSHoldingClearToSend(CTS)線的狀態(tài)發(fā)送數(shù)據(jù)。ClearToSend是調(diào)制解調(diào)器發(fā)送到相聯(lián)計算語法:mCTSHoldingTrueClearToSendFalseClearToSendClearToSend(CTSHoldingFalse)并mCommEventcomEventCTSTO(ClearToSendTimeout)并產(chǎn)生m事ClearToSendRTS/CTS(RequestToSend/ClearToSend)ClearToSend線的狀態(tài),CTSHolding詳細信息有關握手協(xié)議,請參閱HandshakingSThreshold屬性:m控件設置CommEvent屬性為comEvSend并產(chǎn)生m事件之前,設置并返回傳輸緩沖object.SThresholdvaluevalue整形表達式,代表在mSthreshold0(缺省值會產(chǎn)生m事件。若設置Sthreshold屬性為1,當傳輸緩沖區(qū)完全空時,m控件產(chǎn)生m事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于value,CommEvent屬性設置為comEvSend,并產(chǎn)生mcomEvSend事件僅當字符數(shù)與Sthreshold交叉時被激活一次。例如,如果Sthreshold等554時,comEvSend才發(fā)生。如果在輸出隊列中從沒有比Sthreshold多的字符,comEvSend事件將絕不會發(fā)生。Handshake常comNone0無握手comXonXoff1XOn/Xoff握手comRTS2Request-to-send/clear-to-sendcomRTSXOnXOff3Request-to-sendclear-to-send握手皆可mcomEvSend1發(fā)送事件comEvReceive2接收事件。comEvCTS3clear-to-send線變化。comEvDSR4data-setready線變化。comEvCD5carrierdetect線變化。comEvRing6檢測。comEvEOF7文件結(jié)束Error常comEventBreak1001接收到中斷信號comEventCTSTO1002Clear-to-send超時comEventDSRTO1003Data-setready超時comEventFrame1004幀錯誤comEventOverrun1006端口超速comEventCDTO1007Carrierdetect超時comEventRxOver1008接收緩沖區(qū)溢出comEventRxParity1009Parity錯誤comEventTxFull1010傳輸緩沖區(qū)滿comEventDCB1011檢索端口設備控制塊(DCB)時的意外錯InputMode常數(shù)常數(shù)值描述comInputModeText0(缺?。┩ㄟ^Input屬性以文本方式取回comInputModeBinary1通過Input屬性以二進制方式檢取回數(shù)CDHoldingCarrierDetect(CD)線的狀態(tài)確定當前是否有傳輸。CarrierDetect是從調(diào)制解調(diào)器發(fā)送到相聯(lián)計算語法設置值:CDHolding屬性的設置值為:設置描述TrueCarrierDetectFalseCarrierDetectCarrierDetect(CDHoldingTrue)超時時,mCommEventcomEventCD(CarrierDetect超時錯誤m事注意在主機應用程序中捕獲一個丟失的傳輸是特別重要的,例CarrierDetect也被稱為ReceiveLineSignalDetect(RLSD)。數(shù)據(jù)類型DSRHoldingDataSetReady(DSR)線的狀態(tài)。DataSetReady信號由調(diào)制解調(diào)器發(fā)送到相連計算機,指示作好操作objectDSRHolding屬性返回以下值:值描述TrueDataSetReadyFalseDataSetReady說明當DataSetReady線為高電平(DSRHolding=True)且超時時, 控件設置 屬性為 m事件。當為Data 機器寫Data Ready/DataTerminalReady握手例程時該屬性是十分有用的。Settings屬性:設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位語法object.Settings[說明:當端口打開時,如果value,則 m控件產(chǎn)生錯誤380(屬性值。ValueBBBB為波特率,P為奇偶校驗,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。value的缺省值是:InputLen屬性:設置并返回Input屬性從接收緩沖區(qū)的字object.InputLenInputLenvalue整型表達式,說明Input屬性從接收緩沖區(qū)中的字符說明:InputLen屬性的缺省值是0。設置InputLen為0使用Input將使m控件接收緩沖區(qū)中全部的內(nèi)若接收緩沖區(qū)中InputLen字符無效,Input屬性返回一個零長度字符串。在使用Input前,用戶可以選擇檢查InBufferCount屬性來確定緩沖區(qū)中是否已有需要數(shù)目的字符。該屬性在從輸出格式為定長數(shù)據(jù)的機器數(shù)據(jù)時非常有用。EOFEnable屬性:確定在輸入過程中 m控件是否尋找文件結(jié)尾(EOF)字符。如果找到EOF字符,將停止輸入并激 m事件,此時CommEvent屬性設置為comEvEOF,語法:object.EOFEnable[=value]EOFEnablevalueEOF字符時,m事件是valueTrueEOF字符找到時mFalse(缺省)當EOF字符找到時m事件不被激活。EOFEnableFalse,m控件將不在輸入流中尋找EOF字符。錯誤消息(MSComm控件下表列 m控件可以捕獲的錯誤端口打開時操作不合法超時值必須大于無效端端口已經(jīng)打開硬件不可用(被其它設備鎖定設備沒有打開不能使用comm不能設置comm狀 不能設置comm事件僅當端口打開時操作才有效comm設備錯誤為該端口檢索設備控制塊時的錯誤VC++中利ActiveX控件開發(fā)串行通信程序交通大學B9703-1信箱(200030) 要:探討在使用VisualC++編程時利用CommunicationsControl控件編寫串行通信程序的方法,并給出了:VisualC++在開發(fā)微機控制系統(tǒng)的過程中,經(jīng)常需要通過RS232位機的以及系統(tǒng)中計算機與數(shù)字儀表的通信DOS對可編程串行通口的道上,而不是花在的主要目的——獲取與處理數(shù)據(jù)上;在indows下,in32APICreateFilerteFile等文件IO函數(shù)進行串行口操作的方法,但是在實現(xiàn)上仍然是相當煩瑣的幸運的是indows平臺先進的ActiveX技術使在對串ActiveX以indows98iualC++6.0開發(fā)PT650C秤重顯示器的通 CommunicationsControl控件ActiveXActiveX是Windows內(nèi)容是組件對象模型COM(ComponentObjectModel)。ActiveXActiveX控件的應用程序和ActiveX控件之間的工作方式是客戶/服務器方式,即應用程序通過ActiveX控件提供的接口來ActiveX
CommunicationsControl(以下簡 Windows m控件將解發(fā) m事件,而應用程序在捕獲該事件后,通過檢查 m控件的CommEvent屬性可以獲知所發(fā)生的事件或錯誤,從而采取相應程序執(zhí)行完某一串行口操作后,將不斷檢查m控件的CommEvent屬性以檢查執(zhí)行結(jié)果或者檢查某一事件是否發(fā)生。
m控件有許多重要的屬性,其中首要的幾個如表1屬 說CommPort設置/獲取控件對應的串行Settings設置/PortOpen打開/關閉通信Input數(shù)Output發(fā)送數(shù) m控件開發(fā)PT650C秤重顯示器通信程序時,采用了事件驅(qū)動法主要是在comEvReceive(接收到數(shù)據(jù))事件發(fā)打開VisualC++6.0集成開發(fā)環(huán)境,創(chuàng)建一個基于框MFC應用程序項目,命名 ,記住在設置項目選項ActiveXControls,其他的按照缺省設置。完成這一步后,選擇菜單項ProjectAddtoProjectComponentsandControls……,將彈出一個框以選擇系統(tǒng)中已有的組件(Components)和控件(Controls)。選擇RegisteredActiveXControls文件夾下的CommunicationsControlInsert按鈕,將m控件支持加入到本項目中。這時將生成一個名為m的C++類,并且在框編輯器里的將出現(xiàn)m控件圖標。m類是由m控件導出的一系列接口函數(shù)構(gòu)成的,利用它將可以m控件的假設PT650CCOM1資源編輯器,在程序主框(資源ID為_DIALOG)上面放置一個m控件,并用ClassWizard為該框類添加對應該控件的成員變量m_wndCOMPT650C7個數(shù)據(jù)位、1個停止位、偶校驗方式,并且波特率為2400/4800/9600可選,這里我采用9600波特率,在框編輯器中設置m控件的屬性如下:1(資源CommPort:1Settings:9600,e,7,1(9600,偶校驗,7個數(shù)據(jù)位,1個停應于一個單獨的m控件。串行口的設置參數(shù)既可以在對話框編輯器里設定,也可以在程序代碼中通過調(diào)用m類的成員函數(shù)設定。例如,可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村土地租賃及流轉(zhuǎn)合同模板
- 體育賽事UPS電源蓄電池租賃及智能監(jiān)控系統(tǒng)服務合同(二零二五)
- 《設備維修管理》課件
- 《高等數(shù)學基本概念》課件
- 《苗圃生產(chǎn)與管理》課件-3-1播種繁殖技術
- 《軟飲料熱殺菌工藝》課件
- 《寶潔的創(chuàng)新營銷》課件
- 企業(yè)人力資源規(guī)劃
- 靈活用工與遠程工作模式的興起
- 家庭與社會支持學校體育發(fā)展策略
- 2025年護理質(zhì)量與安全管理工作計劃
- 湖南大學 嵌入式開發(fā)與應用(張自紅)教案
- 地下商業(yè)街的規(guī)劃設計
- 長安大學《畫法幾何與機械制圖一》2021-2022學年第一學期期末試卷
- 2024-2030年全球及中國低密度聚乙烯(LDPE)行業(yè)需求動態(tài)及未來發(fā)展趨勢預測報告
- 2024年新華東師大版七年級上冊數(shù)學全冊教案(新版教材)
- 醫(yī)院物業(yè)管理制度
- 新版高中物理必做實驗目錄及器材-(電子版)
- 初中數(shù)學思維訓練雙十字相乘法因式分解練習100道及答案
- (正式版)QC∕T 625-2024 汽車用涂鍍層和化學處理層
- 售后服務部部門組織架構(gòu)
評論
0/150
提交評論