Цитата(Laptop @ Dec 18 2005, 19:51)

Видимо ты проверяешь не "сдвиговый регистр пуст", а "буфер пуст". У AVR двойная буферизация, тебе нужно определять окончание передачи по прерыванию "сдвиговый регистр пуст".
В твоем случае происходит следующее:
0xCC успел передаться, начинается передача 0x**, ты натыкаешься на 0хАА и обрываешь передачу... у тебя хорошо если старт-бит успеет передаться...
Дождись окончания передачи и все будет в полном порядке.
Имеется два прерывания на передачу «Регистр данных USART пуст, UDRE» и «Передача завершена, TXC», "сдвиговый регистр пуст" имеется ввиду «Регистр данных USART пуст, UDRE»? Начал работать с UDRE, потом перешёл на TXC (естественно со сменой флагов инициализации) ситуация не изменилась.
Спасибо за код, разберусь, применю.
Товарищу или Господину назвавшему меня «не будь игоистом». Во первых не Игоист, а Эгоист. Не стоит сразу так о человеке, товарищ предложил поделиться кодом, я его попросил прислать его мне, без всякой задней мысли. Если кто хочет, может попросить выложить код. Давайте будем корректными друг к другу.