Байт - это минимально адресуемая ячейка памяти процессором. У
C2000, к примеру, байт 16-битный. А октет всегда 8-битный. > Что такое N
Количество ненулевых октетов в буфере записи
> Куда записываем N + 1
В канал передачи данных, также с полезной нагрузкой
> Почему второй и последующие нули кодируются 0x1
Потому что после нашего курсора есть полезные данные, но нет ненулевых октетов
11 22 00 00 -> 03 11 22 01 00
00 00 00 00 -> 01 01 01 01 00
01 01 01 00 -> 04 01 01 01 01 00
>Их не получится спутать с настоящими 0x1?
COBS не сильно устойчив к пропуску любого байта, но есть большая разница между "октетом количества ненулевых октетов" и "октетом полезной нагрузки". Считайте, что у приемника есть своё состояние