Hallo zusammen,
auf einem Atmega644 bekomme ich per serieller Schnittstelle einen normalerweise 8-stelligen Befehl, den ich über scanf einlese. Solange der Befehl genau 8 oder mehr Zeichen hat, funktioniert alles gut, wenn der Befehl, evtl. auf aufgrund eines Übertragungsfehlers, nur 7 Zeichen hat, hängt sich meine Anwendung auf.
char commandBuffer[COMMAND_LENGTH]; memset(commandBuffer, 0, sizeof(commandBuffer));
if (rx_counter0) { scanf("%8s", commandBuffer); }
Wie kannn ich möglichst einfach die scanf-abändern, damit das Gerät nicht in einer Dauerschleife bleibt? Anscheind wartet scanf auf das achte Zeichen, dass nicht kommt.
Vielen Dank schon mal für eure Hilfe Michael