Dein Problem liegt hier:
Du versuchst aus einer INT routine heraus USART_transmit aufzurufen. Diese Funktion wartet auf einen INT bis Platz ist ein Zeichen zu senden. Aber die INTs sind dekativiert wenn du in der Routine bist. Also wartet es ewig.Code:SIGNAL( SIG_USART_RECV ) { uint8_t data; data = UDR; /* echo */ USART_transmit(data); }
Die Loesung waere USART_transmit im normalen Programm aufzurufen.
Lesezeichen