Error 0x2 \src\termios.c(892):etxi
分享java開發(fā),用的rxtx64位串口通訊依賴包,程序一直運(yùn)營(yíng)很好,突然出現(xiàn)下面報(bào)錯(cuò)
報(bào)錯(cuò): Error 0x2 \src\termios.c(892):etxi
java開發(fā),用的rxtx64位串口通訊依賴包,程序一直運(yùn)營(yíng)很好,突然出現(xiàn)下面報(bào)錯(cuò)
報(bào)錯(cuò): Error 0x2 \src\termios.c(892):etxi
這個(gè)錯(cuò)誤,做短信設(shè)備開發(fā)的常出現(xiàn)在smslib這個(gè)包,其實(shí)主要還是rxtx這個(gè)API報(bào)的錯(cuò)誤,這個(gè)錯(cuò)誤就是拒絕訪問的意思。
可以理解為:1、串口被占用了,2、串口驅(qū)動(dòng)出問題了。
解決方法:直接關(guān)閉java進(jìn)程重啟程序,目的就是讓進(jìn)程釋放串口基于其他進(jìn)程訪問。
深入解決思路,找尋自己代碼是否邏輯不太合理導(dǎo)致,多線程時(shí)上一個(gè)現(xiàn)成訪問了串口由于數(shù)據(jù)在傳輸關(guān)系沒有執(zhí)行到串口的關(guān)閉并釋放串口導(dǎo)致下一個(gè)現(xiàn)成的訪問時(shí)被拒絕而出現(xiàn)報(bào)錯(cuò): Error 0x2 \src\termios.c(892):etxi或者 Error 0x5 \src\termios.c(892):etxi(這個(gè)0x5偏多)