Вообще-то, я чуть выше предложил простой протокол, который избавлен от многих недостатков, думал его будут обсуждать конструктивно, ан нет. Насколько я могу судить, он получше вашего :-) Извините, но избавление от 0x96 и 0xA9 в пакете путём инкремента/декремента - это моветон. Опять же, это только моё мнение, никому его не навязываю. Работает? Да. Удовлетворяет? Да. Ну и ладушки.
Этот протокол, вернее похожие, я применял энное количество раз.. и никаких осечек. Вот я и подумал, модернизирую свой протокол в очередной раз и предложу сообществу. Он надёжен и прост, доставляет 8 байт + команда по конкретному адресу. Ну и приём удобный, по приёму я его пишу в кольцевой буфер, а фоновая программа делает разбор по наличию в буфере достаточного количества байт, в данном случае - 14 байт.
[Кстати вот, на аврках запись в кольцевой буфер делается за две команды, и чтение также. Только на DSP TMS320F2812 у меня была одна команда.]