0
我正在爲通過串口連接的設備編寫驅動程序。不幸的是,第9個數據位指示該字符應該被解釋爲命令還是數據。如何從串口收到的字符中獲取校驗位?
使用內置奇偶校驗不適用於我,因爲錯誤由附加字符(NUL)指示。然後我不知道我收到了兩個數據字節還是一個奇偶校驗錯誤。
有沒有辦法在其他地方得到這個奇偶校驗位?
編輯:顯然,這個問題也存在於Windows上(見http://gilzu.com/?p=6)。它最終重寫了串行驅動程序。這也是我在Linux上的唯一選擇嗎?
沒有發佈這個答案,因爲我不確定它是否會幫助你,但你有沒有考慮過使用'PARMRK'?如果是這樣的話,奇偶校驗錯誤的字符會以'\ 377 \ 0'爲前綴,即'0xFF 0x00' – Hasturkun
@Hasturkun:謝謝你的想法,但我不知道我是否收到0xFF和0x00從我的設備或從奇偶校驗器。 – SecStone
是否由UART處理奇偶校驗? AFAIC你無法真正瞭解它,但你可以設置任何奇偶校驗來獲得所有8位。 – Keith