Hallo. Ich möchte eine Zahl, die vom Benutzer eingegeben wird, an meinen Atmega über UART senden und diese in meinem Atmega als Anzahl von Schleifen durchläufen nutzen. Wenn ich jedoch diese zahl sende, wird sie als String interpretiert. Ich bräuchte nun entweder eine Möglichkeit diese Eingabe direkt als Integer zu Übertragen oder eine Möglichkeit in meinem Atmega diesen String in einen Int zu wandeln. Vielen Dank für eure Hilfe!
Joachim Lunz schrieb: > Ich bräuchte nun entweder eine Möglichkeit diese Eingabe direkt als > > Integer zu Übertragen oder eine Möglichkeit in meinem Atmega diesen > > String in einen Int zu wandeln. Richtig! Das ist eine Feststellung. Wo ist jetzt eine Frage?
int Zahl; char Zeichen; Zahl=atoi(Zeichen); oder Zahl=Zeichen | 0xF;
bluppdidupp schrieb: > Um welche Programmiersprache gehts überhaupt? Das wäre gut zu wissen, denn je nachdem verschiebe ich das ganze dann entweder ins GCC-Forum oder ins allgemeine µC-Forum
Nilix schrieb: > int Zahl; > char Zeichen; > > Zahl=atoi(Zeichen); fast. atoi ist kein schlechter Ansatz, aber die Datentypen stimmen nicht.
>atoi ist kein schlechter Ansatz, aber die Datentypen stimmen nicht.
stimmt sorry in der Eile nicht aufgepasst.
Joachim Lunz schrieb: > Wenn ich jedoch diese zahl sende, wird sie als String interpretiert. Jo. Das ist ja erst mal nicht schlecht. Vermeidet Probleme wenn deine Zahlen größer als 255 werden. Und hoffentlich schickst du in deinem String hinten nach auch noch ein 'Jetzt ist die Zahl zuende' Zeichen. Denn sonst kann sich dein µC brausen gehen, wenn er aus der Übertragung 17845 rausfinden soll, ob das jetzt die Zahlen 1 7 84 und 5 waren. Oder doch eher 17 8 45 oder vielleicht 178 45 oder möglicherweise 1 784 5 oder .... mit einem Trennzeichen, welches eine Zahl abschliesst, gibt es da keine Missverstädnisse. Denn zb mit einem abschliessendem ';' nach jeder Zahl ist eindeutig klar, wie das empfangene 17;8;4;5 zu interpretieren ist. Und es ist auch klar, dass die letzte 5 noch nicht die komplette Zahl ist, sondern dass da noch was fehlt, was mit der nächsten UART Übertragung kommen wird. > Ich bräuchte nun entweder eine Möglichkeit diese Eingabe direkt als > Integer zu Übertragen oder eine Möglichkeit in meinem Atmega diesen > String in einen Int zu wandeln. Dann zeig halt mal deinen AtMega Code, damit man weiß, in welchen Kontext das ganze einzubetten ist. Denn wie immer: viele Wege führen nach Rom.
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.