我正在为通过串口连接的设备编写驱动程序。不幸的是,第9个数据位表示该字符是应该被解释为命令还是数据。
使用内置奇偶校验检查对我不起作用,因为错误由附加字符(NUL)指示。然后我不知道我收到了两个数据字节还是一个奇偶校验错误。
有没有办法在别处获得这个奇偶校验位?
编辑:显然,Windows上也存在此问题(请参阅http://gilzu.com/?p=6)。最终重写了串行驱动程序。这也是我在Linux上的唯一选择吗?
答案 0 :(得分:0)
在我看来,您应该能够原样使用PARMRK
,假设\377 \0
模式不太可能出现在您的输入中。否则,是的,您可以修改您的串行驱动程序,以便为每个字节添加奇偶校验(或者更确切地说,如果此字节有奇偶校验错误)。不过,我会和前者一起去。