Hallo

Versuch es mal so. Ich meine, das UDR Register wird beim ersten Lesezugriff gelöscht.

Code:
//intterrupt wenn byte empfangen
SIGNAL (SIG_UART_RECV){
   unsigned char temp; 
    temp = UDR;
   data+=temp;//hänge neues byte an
   if (temp=='#')b='1'; //prüft ob Receive complete
}
MFG
Dieter