Первый байт, а не второй "прочищает" приемник.
...
Допустим искаженный байт 0xFF в результате воздейтсвия помехи совпадет с первым байтом открывающей стаффинг последовательности, но и в этом случае приемник приняв за ним такой же байт, и по условию "принято 0 байт данных" пакета, просто "переоткроет" прием пакета повторно.
...
Допустим искаженный байт 0xFF в результате воздейтсвия помехи совпадет с первым байтом открывающей стаффинг последовательности, но и в этом случае приемник приняв за ним такой же байт, и по условию "принято 0 байт данных" пакета, просто "переоткроет" прием пакета повторно.
Нy вот, значит, все-таки второй байт "прочистит приемник", правда? А то, что этот байт у вас не равен 0xFF - это нюанс, о котором догадаться по вашим отрывочным сообщениям было трудно. Собственно, вам ничего не мешает старт-байт сделать равным 0xFF, чтобы не плодить лишние сущности, я-то подразумевал именно этот вариант.
Все равно, как я и говорил, в начале вам надо передать два служебных байта, что по времени займет как минимум два байт-интервала.