-
- Бит четности использовался в ПЛОС, и станках ЧПУ, при ошибке четности перфолента останавливалась и производилась отработка прерывания NMI, которое состояло из одной команды - HALT. - BlackMorda(08.11.2024 20:17)
- 8О1 с четностью не может быть, 5,7,9. - Aleksey_75(06.11.2024 23:05)
- у меня много лет штатный протокол с контролем четности. Есть программа на компе, его контролирует. Мои колонки его контролируют. Ругаются, если не так. Не знаю, о программе в компе - но оно ругается - Лaгyнoв(06.11.2024 21:28)
- Когда-то писал ком порт с контролем четности через WinAPI, не помню чтобы с таким заморачивался. Кажется так: Данные кладутся в буфер, но выставляется ошибка, на эту ошибку можно повесить исключение. IBAH(11476 знак., 06.11.2024 21:05, ссылка)
- Байты, байты. Определяет не приложение, а UART, который дёрнет прерывание и это обнаружит драйвер, ошибка четности будет обработана если DCB создан с флагом fParity. В результате WinAPI функция WaitCommEvent() выставит маску EV_ERR. А определить какая ошибка можно функцией ClearCommError(), она вернет в случае ошибки четности флаг CE_RXPARITY. Ошибки четности очень плохой способ контроля, унаследованный исторически, со времен когда терминалы были электромеханические. Лучше Tpaxбaмбycик(23 знак., 06.11.2024 20:47, )
- вот что пишет гугль LordN(1 знак., 06.11.2024 20:04, картинка)
- Человек справшивал не о том. Уверен, он знает назначение этих бит.
Вопрос о том, как прложению в операционной системе конкретного
типа, получающему данные с COM-порта, обнаружить факты появления
ошибок? И что будет с принятыми символами, если при их приёме
возникли ошибки чётности? Попадут они в буфер или будут отброшены? - Nikolay_Po(06.11.2024 20:09)
- Совершенно верно вы поняли мой вопрос! Есть готовое (чужое) устройство, которое передает данные. Протокол передачи простой, даже примитивный - четыре байта данных с побитовой нарезкой этих байт. boka17(471 знак., 06.11.2024 23:12)
- Мелкософт глаголет (в переводе Яндекс), что "События с данными могут быть вызваны любым из элементов в перечислении SerialData. Поскольку операционная система определяет, вызывать это событие или нет, могут сообщаться не обо всех ошибках четности." reZident(175 знак., 06.11.2024 20:18, ссылка)
- Человек справшивал не о том. Уверен, он знает назначение этих бит.
Вопрос о том, как прложению в операционной системе конкретного
типа, получающему данные с COM-порта, обнаружить факты появления
ошибок? И что будет с принятыми символами, если при их приёме
возникли ошибки чётности? Попадут они в буфер или будут отброшены? - Nikolay_Po(06.11.2024 20:09)
- Ни разу в инде не использовал.. но КМК было нормально если бы винда
этот байт игнорила и формировала какой-то флаг ошибки. Иначе нафига
это всё... POV(87 знак., 06.11.2024 20:03)
- Но нейросеть вот так отвечает. Согласно такой формулировки,
обнаружение нарушения четности - задача аппаратрная. POV(1 знак., 06.11.2024 20:05, картинка)
- Получается, этот бит Parity - артефакт, который просто занимает
место в канале, а борьба за целостность информации идет уже на
другом уровне. Практически везде ставят none. - boka17(06.11.2024 23:27)
- Именно так. Допустим, пакет 100 байт, и 2 байта CRC-16, это +2%.
Если использовать бит чётности, то это будет 11-ый бит в каждом
байте (с учетом старт и стопа), т.е. +10% накладных расходов.
Пакет-то всё равно выбрасывать целиком и повторять. Биты чётности
были актуальны в 70х-80х годах. - vpv.vpv(07.11.2024 09:33)
- +1 бит чётности легко контролируется аппаратно, логикой (CRC тоже можно сделать на регистрах вроде как, но зачем?) Чётность - примитивный аппаратный контроль ошибок, легко реализуемый в железе. При пакетной передаче. в принципе - действительно атавизм, в коротких посылках помочь может, но всё равно смысла нет, - это только контроль, да и то весьма условный - парные ошибки не обнаружит. - Adept(07.11.2024 11:40)
- Именно так. Допустим, пакет 100 байт, и 2 байта CRC-16, это +2%.
Если использовать бит чётности, то это будет 11-ый бит в каждом
байте (с учетом старт и стопа), т.е. +10% накладных расходов.
Пакет-то всё равно выбрасывать целиком и повторять. Биты чётности
были актуальны в 70х-80х годах. - vpv.vpv(07.11.2024 09:33)
- Получается, этот бит Parity - артефакт, который просто занимает
место в канале, а борьба за целостность информации идет уже на
другом уровне. Практически везде ставят none. - boka17(06.11.2024 23:27)
- Но нейросеть вот так отвечает. Согласно такой формулировки,
обнаружение нарушения четности - задача аппаратрная. POV(1 знак., 06.11.2024 20:05, картинка)