void uart_puts (char *s) //soll einen String ausgeben {
while (*s) {
/* so lange *s != NULL */
uart_putc(*s);
s++;
}
}
void uart_putc(char c) //gibt ein Zeichen aus
{
while( (UCSRA & 1<<UDRE) == 0 );
UDR = c;
}
War das nicht
while(!(UCSRA & (1<<UDRE)));


*s wird auch nie NULL werden ist schliesslich eine char und kein Zeiger...

Gruss
Michael