Hallo

Was passiert da:

Code:
				//Befehle Empfangen
				Send("\r\n>");
				SerRead(msg,2,0);
				msg[1] = '\0';
				Send(msg[0]);
Send("\r\n>"); Es wird ein CRLF an das Terminal gesendet um dort später in einer neue Zeile zu schreiben.
SerRead(msg,2,0); Dann wird eingelesen was das Terminal sendet....
msg[1] = '\0'; ...und dahinter das Zeichen mit der Nummer 0 als Kennung für das Ende einer Zeichenkette gespeichert.
Send(msg[0]); und letzlich wird das eingelesene Zeichen zur Kontrolle zurück zum Terminal gesendet das dieses dann in der neuen Zeile darstellt.

Send() sollte deshalb irgendwie durch SerWrite() ersetzbar sein. Oder du verzichtest auf die Kontrolle im Terminal und wechselst zum Beispiel die Farbe der StatusLED wenn ein neues Zeichen empfangen wurde.

if(msg[0] == 'w') vergleich nur ein Zeichen, die oben angefügte Endekennung für Strings scheint eher unnötig zu sein.

Gruß

mic