Gast
#676232
Hallo Ich versuche gerade den uart aus dem Tuto. Funzt alles soweit, nur wenn ich am pc einen buchstaben sende empfange ich im AVR erst beim zweiten senden des Buchstabens den Richtigen. So sieht mein Code aus: int zeichen (void){ for (;;){ fdevopen (uart_transmitt,NULL,0); printf("Bitte Befehl eingeben "); uart_getc(); if (UDR != 's'&& UDR !='w'){ printf("Falsche Eingabe!"); } if (UDR == 's'){ printf("Motor Stop "); for(int h = 0; h< 20; h++){ _delay_ms(20);} printf("Bitte Befehl eingeben! "); } if (UDR == 'w'){ printf("Motor an!"); } for(int h = 0; h< 20; h++){ _delay_ms(20);} } return(0);} Uns so empfange ich: /* Zeichen empfangen */ int uart_getc(void) { while (!(UCSRA & (1<<RXC))); // warten bis Zeichen verfuegbar return UDR; // Zeichen aus UDR an Aufrufer zurueckgeben }