WINCE串口WriteFile阻塞问题解决方法
? ? ? 最近在MSTAR2521平臺(tái)弄串口讀寫(xiě)的時(shí)候,經(jīng)常遇到WriteFile函數(shù)阻塞,不返回,后來(lái)發(fā)現(xiàn)是設(shè)置的寫(xiě)超時(shí)不對(duì),太長(zhǎng)了。現(xiàn)在修改了寫(xiě)超時(shí),就可以了。
寫(xiě)超時(shí)了其實(shí)也沒(méi)有關(guān)系,實(shí)際上WINCE系統(tǒng)的串口驅(qū)動(dòng)是異步發(fā)送的,只是先返回給用戶(hù)層了,驅(qū)動(dòng)還是會(huì)將數(shù)據(jù)異步慢慢地寫(xiě)到串口中去。
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);
總結(jié)
以上是生活随笔為你收集整理的WINCE串口WriteFile阻塞问题解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WINCE的FFMPEG交叉编译环境搭建
- 下一篇: clusense VS2008版本