Forum: Mikrocontroller und Digitale Elektronik Timer stand über itoa


von Martin Sche (Gast)


Lesenswert?

Hallo Leute!

Ich muss meinen 16Bit Zählerstand über RS232 ausgeben, aber irgendwie 
steh ich grad am Schlauch.

Die itoa-Funktion

"itoa(iarray[t][k],cbuffer,10);"
mit
char cbuffer[25](einfach mal so groß gewählt)
uint16_t iarray[4][4](in iarray steht jeweils der Timerwert drin)


sieht die 16Bit Integer Zahl als signed an, was ja nicht der Fall ist. 
Wie schaff ich es das der mir Werte bis 65536 ausspuckt??
Wahrscheinlich gar net so schwer...aber der Schlauch:)



Vielen Dank!

von Eulerich (Gast)


Lesenswert?

Ich würd einfach mal eiskalt nen Cast probieren:
itoa((uint16_t)iarray[t][k],cbuffer,10);

von Matthias L. (Gast)


Lesenswert?

>Wie schaff ich es das der mir Werte bis 65536 ausspuckt??


Indem du nicht itoa sondern utoa verwendest.

von Stefan E. (sternst)


Lesenswert?

itoa = int to ascii (also signed)
utoa = unsigned to ascii

von Martin Sche (Gast)


Lesenswert?

Nö klappt leider nicht...

von Martin Sche (Gast)


Lesenswert?

Da haben wir alle zusammen fast zur selben Zeit geschrieben*gg*

mit utoa klappts natürlich
Vielen Dank!!

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.