А Ты на С пишешь? Да еще, Break и MAB не в конце пакета находится а в начале, и когда примешь последний 512 байт пакет может затянутся (линия в 1) и произойдет наводка на линию, в следствии чего может произойти ложное срабатывание старт бита и девайсина начнет принемать 513 байт что не допустимо, что бы это избежать нужно контролировать длину пакета.. а это я пока не успеваю... пока...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)