
Комментарии 4
В этой статье будет рассмотрена организация пакетов данных для их отправки по интерфейсам связи
а я что-то не обнаружил в изложенном кода отправки? Архитектура есть, конструкторы есть, а где отправка то? Хотя отправка на самом деле не так интересна! Отослать - записать (в уарт например) N байт задача тривиальная! Хотя если делать на прерывании что-то интересное тоже будет. Но гораздо интереснее как вы организуете прием! Во время приема надо не потерять синхронизацию с началом пакета, вот это серьезно не тривиальная задача.
Есть ещё вариант использовать COBS + ProtocolBuffers (nanopb для ESP, под STM не знаю, что за либа).
COBS гарантирует, что не будет нулевых байтов в данных, поэтому такие байты можно использовать как разделители пакетов. Учитывая, что можно настроить аппаратную детекцию нулевого байта, остаётся только правильно вычитать данные и пробовать декодировать.
Ну а ProtocolBuffers уже использовать или не использовать - на ваше усмотрение, в принципе можно и обычными структурами обмениваться, просто PB кроссязычный
C++ для STM32. Часть 1: организация пакетов данных для отправки по интерфейсам связи