WINCE串口WriteFile阻塞問題解決方法

      最近在MSTAR2521平臺弄串口讀寫的時候,經常遇到WriteFile函數阻塞,不返回,後來發現是設置的寫超時不對,太長了。現在修改了寫超時,就可以了。

寫超時了其實也沒有關係,實際上WINCE系統的串口驅動是異步發送的,只是先返回給用戶層了,驅動還是會將數據異步慢慢地寫到串口中去。

COMMTIMEOUTS commTimeOut;
GetCommTimeouts(m_hBtCom, &commTimeOut);
commTimeOut.ReadIntervalTimeout = 200;  //MAXWORD;
commTimeOut.ReadTotalTimeoutMultiplier = 0;
commTimeOut.ReadTotalTimeoutConstant =0;
commTimeOut.WriteTotalTimeoutMultiplier = 20;
commTimeOut.WriteTotalTimeoutConstant = 10;
SetCommTimeouts(m_hBtCom, &commTimeOut);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章