merkwürdiger Wert von itoa

Gast #145985
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
Angehängte Dateien:
Gast #145987
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren