heike schrieb:
> "error" obwohl mein Befehl mit m anfägt.
Sicher?
Oftmals vertut man sich, weil zb die gets Funktion Steuerzeichen nicht
richtig ausfiltert. Da bleibt dann im empfangenen String gerne schon mal
ein \r oder \n oder \t oder ein Leerzeichen hängen, welches eigentlich
nicht da sein sollte.
> uart0_puts( "\r\n" );
> uart0_gets( Command, LENGTH );
> uart0_puts( Command );
Daher sollte man sich hier, bei der Ausgabe, eine eindeutige Markierung
ausgeben lassen, an der man in der Ausgabe eindeutig sieht, wo
tatsächlich der String anfängt bzw. aufhört
uart0_puts( "&" ); // irgendein Zeichen, dass in Command
nicht
// oder nur selten vorkommen wird
uart0_puts( Command );
uart0_puts( "&" );
und jetzt schaust du dir den Kontrollausdruck auf dem Terminal an.
Wenn du dort so etwas vorfindest
dann passt alles. Steht dort aber zb
dann hat sich ein \n eingeschmuggelt (erkennbar daran, dass nach dem &
der Zeilenumbruch erfolgt)
(also ohne das einleitende &, ist ein Hinweis auf einen einzelnen
Carriage Return, der ohne LineFeed daherkommt)
da ist wohl irgendwo ein Leerzeichen übrig geblieben
ditto, aber diesmal ist das Leerzeichen am Ende
....