-
- Это не от архитектуры проца зависит, а от конструкции конкретного
UART. Обычно эта способность называется LIN-совместимостью. Бо
протокол LIN эту штуку широко использует. LightElf(467 знак., 09.11.2025 16:39)
- Да не, про состояние break всё более-менее понятно, и про трюк с
изменением скорости и отправкой нулевого байта для отправки "break
condition" я тоже сразу нашел упоминание. Вопрос акцентирую именно
на передаче и приеме _ненулевого_ байта с "неверным" стоп-битом,
сигнализирующем об окончании передачи и освобождении шины для
получения ответа от слейва. - pavel2000(09.11.2025 19:23)
- С помехоустойчивостью будет не очень, но насколько это вам важно -
вам видней. Если в протоколе не используется проверка четности, а
конкретный UART умеет не только в none/even/odd, но и в mark/space,
то почему бы и нет. Приёмник настроен в "parity: none", передатчик
данные шлёт с "parity: mark", а последний байт - "parity: space".
Тогда на последнем байте приёмник поймает frame error. Но ежели обе
стороны умеют в mark/space, то проще и ориентироваться на parity
error, чем на LightElf(9 знак., 09.11.2025 20:34)
- Да, я понял изложенные идеи, спасибо. - pavel2000(09.11.2025 21:51)
- С помехоустойчивостью будет не очень, но насколько это вам важно -
вам видней. Если в протоколе не используется проверка четности, а
конкретный UART умеет не только в none/even/odd, но и в mark/space,
то почему бы и нет. Приёмник настроен в "parity: none", передатчик
данные шлёт с "parity: mark", а последний байт - "parity: space".
Тогда на последнем байте приёмник поймает frame error. Но ежели обе
стороны умеют в mark/space, то проще и ориентироваться на parity
error, чем на LightElf(9 знак., 09.11.2025 20:34)
- Да не, про состояние break всё более-менее понятно, и про трюк с
изменением скорости и отправкой нулевого байта для отправки "break
condition" я тоже сразу нашел упоминание. Вопрос акцентирую именно
на передаче и приеме _ненулевого_ байта с "неверным" стоп-битом,
сигнализирующем об окончании передачи и освобождении шины для
получения ответа от слейва. - pavel2000(09.11.2025 19:23)
- Спасибо за ответы, я так понял, что это явление достаточно часто используется. Буду пробовать использовать. Спасибо. - pavel2000(09.11.2025 09:53)
- Но положит ли приемник принятые 8 бит в регистр данных, если он
не получил стоп-бит? - Обычно в таком случае приемник принимает все 8 бит и формирует
ошибку Framing error. - reZident(09.11.2025 00:40)
- ну как-то так POV(2 знак., 09.11.2025 00:44, картинка, картинка)
- STM32 UART с поддержкой LIN такое умеет. Я даже как-то использовал. SciFi(1 знак., 08.11.2025 21:53, картинка)
- Это не от архитектуры проца зависит, а от конструкции конкретного
UART. Обычно эта способность называется LIN-совместимостью. Бо
протокол LIN эту штуку широко использует. LightElf(467 знак., 09.11.2025 16:39)
