ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
9 ноября
1552991
pavel2000 (Вчера, 21:41, просмотров: 82)
Открыл для себя новое в UART - "break condition", когда линия/шина удерживается в состоянии "0" на время, большее времени передачи символа. Но сначала увидел вариант, когда передача "неправильного" стоп-бита, и, соответственно, возникновение frame error на приемнике, используется мастером как признак конца передачи. На диаграмме логического анализатора это выглядит так (снимаемый сигнал инвертирован): 



Сразу после приема "пакета", показанного на диаграмме, "слейв" начинает свою передачу по этой же однопроводной шине.

В отличие от "break condition", посылается не нулевой байт, а какое-то значение, НЕ завершающееся стоп-битом.

На 8051, предполагаю, это делается так - UART конфигурируется на 9-битную передачу, 9-й бит выставляется в ноль.
Но положит ли приемник принятые 8 бит в регистр данных, если он не получил стоп-бит?

Для расширения кругозора, интересует вопрос, как сформировать такую передачу в применении к различным архитектурам - ARM, ESP32 ?
Всегда ли можно будет прочитать значение данных фрейма с некорректным стоп-битом?