Hallo, ich stehe vor dem Problem das ich Zahlen über RS232 bekomme. Diese Zahlen kann man ja leider nicht einfach verwenden, da z.B. eine zwei als Text für den Wert 50 steht. Gibt es eine einfache Routine wie ich zahlen aus dem Buffer in verwertbare Variablen packen kann? Was mache ich wenn ich z.B. eine 2000 bekomme. Das sind ja 4 Zeichen. Diese muss ich später in eine Variable mit dem Wert 2000 bekommen. Nachdem ich dann mit den Variablen fertig bin und die Werte editiert habe, möchte ich z.B. diese Variable 2000 wieder zurück in einen Textstring konvertieren und über die RS232 ausgeben. Wie kann ich das am besten lösen, da man ja auch nicht einfach 2000 ins Data Register der RS232 schreiben kann. Vielen Dank für Eure hilfe. Sven
In C wuerde man Scanf und printf verwenden. Tja. In anderen Sprachen mag das anders heissen. Bei einer anderen Sprache, die ich verwende sind diese Routinen zu klotzig, daher schreib ich die jeweils selbst, resp copy/paste sie.
Ja C ist schon in Ordnung. Das kann man mit scanf() und printf() machen? Ich bekomme jede Sekunde 32 Bytes mit dem folgenden Format: !XXXX,1234,123,12,12,12*00,F,3 CR LF Die Zahlen müssen in Variablen und hinterher wieder zurück
Naja, die einzelnen Zahlen musst du schon zuerst von den Kommans und so befreien. also '1234' in scanf eingeben und 1234 kommt raus. Ja.
Wenn es sich um "leere" Zahlen handelt, würde ich eher atoi() verwenden (Ascii to integer), ist weniger ressourcenintensiv (Beim PC irrelevant, auf einem uC dagegen schon wichtig). Umgekehrt dann natürlich auch wieder itoa() um den String zu generieren.
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.