ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
1390280 Топик полностью
reZident (06.01.2024 20:57, просмотров: 93) ответил Argon на Не, это я не путаю, но ваша картинка породила дополнительный вопрос: что такое 3.5 байт? Не STX же, верно? Или все же это STX ответа слейва? Тогда почему эти 3.5 байт не обозначены перед запросом мастера?
3,5 символа в конце фрейма это END - завершение фрейма. "Защитный интервал" нужен для выравнивания разбежки таймингов у master и slave. 

Во-первых, минимальный цикл готовности к приему у мастера может значительно отличаться от минимального цикла готовности ответа у слейва (я уже приводил такой пример). Во-вторых, между мастером и слейвом может быть повторитель RS485 или модем, который внесет задержку переключения линии RS485 на прием. В-третьих, в зависимости от программной реализации слейвам нужно некоторое время на обработку запроса - например, хотя бы понять к нему адресован этот запрос или нет? И если адресуемый слейв начнет отвечать сразу же без паузы, то другие слейвы, подключенные к линии могут не успеть обработать фрейм и пропустить следующий запрос мастера, который может быть адресован уже именно к этому слейву, который в это время обрабатывал предыдущий запрос. А STX это пауза перед началом фрейма. STX это аналог стартового бита при передаче символа через UART, соответственно стоповый бит - END.

P.S. Чисто теоретически STX слейва может совпадать с END мастера, если слейв настолько уж шустрый. Но в реальности без "защитного интервала", который является частью STX, работать без ошибок навряд ли получится.