Hallo,
wie willst Du was empfangen, wenn Du den Empfänger nicht einschaltest 
das geht so,
Code:
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
Jetzt kannst Du senden,empfangen und der Interrupt ist eingescheltet, der für den Empfang zuständigt ist.
Im einfachstem Fall machst Du ein Echo:
Code:
ISR (USART_RXC_vect) {
uint8_t tmp = UDR;
UDR = tmp;
}
Du brauchst hier auf nichts zu warten, weil das Zeichen schon da ist 
Wichtig ist nur, das UDR auch ausgelesen wird!
willst Du aus dem Hauptprogramm was senden, mußt Du UDRE testen:
Code:
while(!(UCSRA & (1<<UDRE)));
UDR = 'a';
Gruß sebastian
Lesezeichen