Как получить бит четности от символов, полученных последовательным портом? - PullRequest
0 голосов
/ 21 августа 2011

Я пишу драйвер для устройства, подключенного через последовательный порт.К сожалению, 9-й бит данных указывает, должен ли символ интерпретироваться как команда или как данные.

Использование встроенной проверки четности не работает для меня, поскольку ошибка указывается дополнительным символом (NUL).И тогда я не знаю, получил ли я два байта данных или один с ошибкой четности.

Есть ли способ получить этот бит четности в другом месте?

РЕДАКТИРОВАТЬ: По-видимому, эта проблема также существует в Windows (см. http://gilzu.com/?p=6). В итоге она переписала драйвер последовательного порта. Это также мой единственный вариант в Linux?

1 Ответ

0 голосов
/ 21 августа 2011

Как я понимаю, вы должны иметь возможность использовать PARMRK как есть, предполагая, что шаблон \377 \0 вряд ли появится на вашем входе.в противном случае, да, вы можете изменить свой последовательный драйвер, добавляя четность (точнее, если этот байт имел ошибку четности) к каждому байту.Я бы пошел с первым, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...