Какое устройство программируем?

Например купюроприемник обменивается пакетами примерно так
#байт - признак начала пакета
#байт - адрес
#байт - длина пакета
#команда (или отклик, может быть довольно длинным)
#CRC-16 - рассчитывается по отдельному алгоритму.
Обмен идет непрерывно - пакет отправили, отклик забрали, пакет отправили, отклик забрали.
Или, допустим сканер штрих-кода - молчит и программирования не требует. Сидим и слушаем - как только код считан идет пакет
# префикс
# код (строка)
# постфикс.