Hallo, ich bin µC Anfänger, wie man aus dem Betreff schließen kann. Nun möchte ich zunächst Befehle vom PC an den µC senden. Der µC Empfängt so lange Zeichen bis \n empfangen wird. Das funktioniert, ich kann die Zeichenkette wieder ausgeben. Sende ich vom PC "o" + Enter, ist if (Text[0] == 'o') gleich True. Sende ich aber "LED" + Enter, bekomme ich keine "wahre" If-Abfrage hin ('LED'; 'LED\n' etc.) Wie muss diese aussehen bzw. wie muss der String "beschnitten" werden? Das zweite Problem hat sich ergeben, als ich zur Information den uinit8_t Schleifenzähler-Wert an den PC senden wollte. Der Wert ist nicht größer als 5. Ich kann Text[0] = Schleifenzähler zuweisen aber es wird nicht der Wert übertragen. Wenn ich einer unit8_t-Variable den Wert = '5' zuweise, geht das Ganze aber. Wie bekomme ich das mit dem Schleifenzähler hin? Danke für eure Hilfe und Nachsicht ;).
Gerd schrieb: > Der µC Empfängt so lange Zeichen bis \n empfangen wird. Das > funktioniert, ich kann die Zeichenkette wieder ausgeben. Sende ich vom > PC "o" + Enter, ist if (Text[0] == 'o') gleich True. Sende ich aber > "LED" + Enter, bekomme ich keine "wahre" If-Abfrage hin ('LED'; 'LED\n' > etc.) > Wie muss diese aussehen bzw. wie muss der String "beschnitten" werden? http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F > Das zweite Problem hat sich ergeben, als ich zur Information den > uinit8_t Schleifenzähler-Wert an den PC senden wollte. Der Wert ist > nicht größer als 5. Ich kann Text[0] = Schleifenzähler zuweisen aber es > wird nicht der Wert übertragen. Wenn ich einer unit8_t-Variable den Wert > = '5' zuweise, geht das Ganze aber. Wie bekomme ich das mit dem > Schleifenzähler hin? http://www.mikrocontroller.net/articles/FAQ#Wie_kann_ich_Zahlen_auf_LCD.2FUART_ausgeben.3F
Hallo Gerd, typisch Anfänger, deine Fragen sind nicht beantwortbar weil total aus dem Zusammenhang gerissen. Beispiel: "Sende ich aber "LED" + Enter, bekomme ich keine "wahre" If-Abfrage hin ('LED'; 'LED\n' etc.)" Das kann viele Ursachen haben, aber ohne den kompletten Code zu sehen ist es müßig zu spekulieren. 'LED' zum Beispiel ist ja schon syntaktisch falsch. Also, Fragen sinnvoll zu stellen will auch gelernt sein ;) LG, Sebastian
Möglicherweise ist ENTER im Terminal auch ein \r und kein \n.
Hallo und danke für eure Hilfe. @Fabian: Mit strcmp() kann ich nun die Befehle auswerten und mit itoa() die Zahlen in sendbare Strings wandeln. @Sebastian: Wenn ich weitere Fragen habe, werde ich mich bemühen diese konkreter zu formulieren und Code anzuhängen. @Svenska: \r hatte ich eigentlich auch gemeint ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.