Gast
#1866828
Hallo Leute Ich bin C-Anfänger. Mit meine ATMega empfange ich über den UART verschiedene Befehle die ich über ein Terminal an den AVR schicke. Die empfangene Zeichen schaufle ich in einen char-Array Buffer. volatile unsigned char UARTBuf[21] Stimmt es dass ein char-Arry immer mit \r\n abeschlossen wird? In der main-Schleife prüfe ich ständig ob im UARTBuf das Enterzeichen angekommen ist. Wenn es ankommt soll der Befehl abgearbeitet werden. Ich sende z.B. mit dem Terminal "AVR:" + "Enterzeichen" Mein Beispiel funktioniert nicht. Ist dies weil das Char-Array mit "\r" abgeschlossen wird? Mit welchem Befehl muss ich dies tun? Auf eine Antwort würde ich mich freuen. Gruss Elektronenbrater int main(void) { while (1) { char * pos = memchr( UARTBuf, "\r", strlen( UARTBuf ) ); if (pos >1) { //Befehle abarbeiten } } }