vc串口通訊控件mscomm編程詳解

vc串口通訊控件mscomm編程詳解

ID:22363590

大?。?15.00 KB

頁數(shù):27頁

時間:2018-10-28

vc串口通訊控件mscomm編程詳解_第1頁
vc串口通訊控件mscomm編程詳解_第2頁
vc串口通訊控件mscomm編程詳解_第3頁
vc串口通訊控件mscomm編程詳解_第4頁
vc串口通訊控件mscomm編程詳解_第5頁
資源描述:

《vc串口通訊控件mscomm編程詳解》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、vc串口通訊控件MSComm編程詳解在mfc中進行串口通訊最簡單的方法莫過于在對話框中使用MSCOMM控件了,MSComm通信控件提供了一系列標準通信命令的接口,它允許建立串口連接,可以連接到其他通信設備(如Modem).還可以發(fā)送命令、進行數(shù)據交換以及監(jiān)視和響應在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工、事件驅動的、高效實用的通信程序。一、用MSComm控件通信1.串口通信基礎知識一般悅來,計算機都有一個或多個串行端口,它們依次為com1、Com2、…,這些串口還提供了外部設備與pC進行數(shù)據傳輸和皿信的通道。這些串口在CPU和外設之間充當解釋器的角色。當字符數(shù)據從CPU

2、發(fā)送給外設時,這些字符數(shù)據將被轉換成串行比特流數(shù)據;當接收數(shù)據時,比特流數(shù)據被轉換為字符數(shù)據傳遞給CPU,再進一步說,在操作系統(tǒng)方面,Windows用通信驅動程序(COMM.DRV)調用API函數(shù)發(fā)送和接收數(shù)據,當用通信控件或聲明調用API函數(shù)時,它門由COMM.DRV解釋并傳遞給設備驅動程序,作為一個vB程序員,要編寫通信程序.只需知道通信控件提供給Windows通信AP1函數(shù)的接口即可.換句話說,只需設定和監(jiān)視通信控件的屬性和事件即可。2.使用Mscomm控件在開始使用MSComm控件之前。需要先了解其屬性、事件或錯誤屬性描述CommPort設置或返回通信端口號Settings以字符串

3、的形式設置或返回波特率、奇偶校驗、數(shù)據位和停止位PortOpen設置或返回通信端口的狀態(tài)。也可以打開和關閉端口Input返回和刪除接收緩沖區(qū)中的字符Output將字符串寫入發(fā)送緩沖區(qū)CommEvent屬性為通信事件或錯誤返回下列值之一。在該控件的對象庫中也可以找到這些常量。常量值描述ComEventBreak1001收到了斷開信號ComEventCTSTO1002ClearToSendTimeout。在發(fā)送字符時,在系統(tǒng)指定的事1件內,CTS(ClearToSend)線是低電平ComEventDSRTO1003DataSetReadyTimeout。在發(fā)送字符時,在系統(tǒng)指定的事件內,DSR

4、(DataSetReady)線是低電平ComEventFrame1004數(shù)據幀錯誤。硬件檢測到一個數(shù)據幀錯誤ComEventOverrun1006端口溢出。硬件中的字符尚未讀,下一個字符又到達,并且丟失ComEventCDTO1007CarrierDetectTime。在發(fā)送字符時,在系統(tǒng)指定的事件內,CD(CarrierDetect)線是低電平。CD也稱為RLSD(ReceiveLineSingalDetect,接收線信號檢測)ComEventRxOver1008接收緩沖區(qū)溢出。在接收緩沖區(qū)中沒有空間ComEventRxParity1009奇偶校驗錯。硬件檢測到奇偶校驗錯誤7ComEve

5、ntTxFull1010發(fā)送緩沖區(qū)滿。在對發(fā)送字符排隊時,發(fā)送緩沖區(qū)滿ComEventDCB1011檢取端口DCB(DeviceControlBlick)時發(fā)生了沒有預料到的錯誤通信事件包含了下面的設置:常量值描述ComEvSend1發(fā)送緩沖區(qū)中的字符數(shù)比Sthreshold值低ComEvReceive2接收到了Rthreshold個字符。持續(xù)產生該事件,直到使用了Input屬性刪除了接收緩沖區(qū)中的數(shù)據ComEvCTS3CTS(ClearToSend)線改變ComEvDSR4DSR(DataSetReady)線改變。當DSR從1到0改變時,該事件發(fā)生ComEvCD5CD(CarrierDe

6、tect)線改變ComEvRing6檢測到響鈴信號。一些URAT(UniversalAsynchronousReciver--Transmitters,通用異步收發(fā)器)不支持該事件ComEvEOF7收到了EOF字符(ASCII字符26)Error消息(MSComm控件)下表列出了MSComm控件可捕獲的錯誤消息:常量值描述ComInvalidPropertyValue380無效的屬性值ComSetNotSupported383屬性只讀ComGetNotSupported394屬性只讀ComPortOpen8000端口打開時該存在無效8001超時設置必須比0值大ComPortInvalid8

7、002無效的端口號8003屬性只在運行時有效8004屬性在運行時是只讀的ComPortAleadyOpen8005端口已經打開8006設備標識符無效或不支持8007不支持設備的波特率8008指定的字節(jié)大小無效8009缺省參數(shù)錯誤8010硬件不可用(被其他設備鎖住)8011函數(shù)不能分配隊列ComNoOpen8012設備沒有打開8013設備已經打開8014不能使用通信通知ComSetCommStateFailed8015不能

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。