Добрый день!
Настроил USART на прием и отправку данных по USRAT.
Параметры 9600 8 бит данных 2 стоп бита.
Начинает работает, если только остановить программу jtag-ом и заново запустить на выполнение.
Т.е. запускаем - не работает. Жму паузу, запускаю. Начинает работать прекрасно.
Чудеса.

Понимаю что ошибка в программе не могу разобраться. Давно не работал с мегами

инициализация USART
Код
void start_UART (UINT8 baud_rate_code)
{
UINT32 baud_rate;
switch (baud_rate_code) {
case 1: baud_rate = 9600; break;
case 2: baud_rate = 19200; break;
case 3: baud_rate = 38400; break;
case 4: baud_rate = 57600; break;
case 5: baud_rate = 76800; break;
case 6: baud_rate = 115200; break;
default:;
}
UBRRH=HIGHBYTE(((SYS_OSC/16)/baud_rate)-1);
UBRRL=LOWBYTE(((SYS_OSC/16)/baud_rate)-1);
// Старт бит + 8 бит + 2 стоп бита
UCSRC=(1 << USBS)|(1 << UCSZ1)|(1 << UCSZ0);
UCSRB=(1 << RXEN)|(1 << TXEN);
UCSRB_RXEN = 1;
UCSRB_RXCIE = 1;
}