Forum: Mikrocontroller und Digitale Elektronik merkwürdiger Wert von itoa


von Daniel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich lese ein Register ein und wandle es mittels itoa() in ein String
um.
Soweit ich weiß kann man Werte von Null bis 255 in einem Register
speichern, aber ich bekomme Zahlen bis <1000 ausgegeben.

Wenn ich das ganze in Hex umwandle, funktionierts einwandfrei.
Hab das Programm mal angehängt.

Hat jemand eine Idee woran das liegt?


Danke

Daniel

von Andre Fabricius (Gast)


Lesenswert?

Mit itoa() wandelst du einen Integer Wert in einen String um. du
bekommst aber nen Zeiger auf Char zurückgegeben, vielleicht liegt es
daran. war jetzt nur mein erster gedanke

von Rufus T. Firefly (Gast)


Lesenswert?

bt1 ist ein vorzeichenbehafteter int. Möglicherweise wird bei der
Zuweisung
  bt1=inp(TCNT0);
das Vorzeichen erweitert?

Interessante Nebeneffekte treten auf, wenn die Zahl größer wird als
9999 oder kleiner als -999 - dann nämlich reicht der Puffer ct1 mit 5
Byte größe nicht aus und itoa schreibt auf den Stack. Lecker.

von Daniel (Gast)


Lesenswert?

Ok, hat sich erledigt - dummer Fehler meinerseits - trotzdem Danke

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
Noch kein Account? Hier anmelden.