兩臺計算機之間用串口傳送檔案,發送的那一臺使用奇校驗,收的那一臺使用偶校驗,資料能夠正常接收和發送。但我現在需要檢測出這個奇偶校驗錯誤資訊,并給出提示。現在就是,捕獲不了這個錯誤資訊。我使用的是同步串口。
使用了這幾個函式
SetCommMask(hCommFile,EV_ERR);//////設定監測錯誤事件
ClearCommError(hCommFile,errs,@stat);
WaitCommEvent(hCommFile,dwEventMask,NULL)////;
然后就一直停留在WaitCommEvent這一句,,也就是說一直沒有事件發生
uj5u.com熱心網友回復:
怎么不用串口控制元件?cport和spcomm都行,簡單直接API,麻煩
uj5u.com熱心網友回復:
WaitCommEvent 第二個引數確認下是否有問題?uj5u.com熱心網友回復:
我除錯結果發現奇偶檢驗允許dcb.fParity設定不成功,我將它設定為true,但是再讀時候他又變成了0,DCB dcb;
GetCommState(hCom,&dcb); //獲得當前串口狀態資訊
int a =dcb.fParity;///除錯時候觀察這個變數,發現為0
int b=dcb.Parity;
dcb.fParity=1;//設定允許奇偶校驗
dcb.Parity=EVENPARITY;///偶位校驗
SetCommState(hCom,&dcb); //設定串口資訊
a =dcb.fParity;//問題就出在這里,a的結果還是0!
b=dcb.Parity;
請問為什么這個fParity位會設定無效呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93150.html
上一篇:求助提取資料的方式~
下一篇:fastreport合計問題
