-
-
Erfahrener Benutzer
Roboter Experte
itoa nimmt höchstens int16_t mit nem AVR??
Hallo Leute,
ich bin gerade dabei, mehr oder weniger schwierige Berechnungen auf einem ATmega8 durchführen zu lassen. Um mir zwischenergebnisse ausgeben zu lassen, forme ich die Zahl mit itoa in ein Array um, und gebe es auf einem LCD-Display aus. Das problem ist nun, dass itoa anscheinend alle Zahlen, die ich ihm gebe als 16-bit signed integer interpretiert.
So ergibt dies hier itoa(60000UL, buf, 10); das Array "-5535"
und das hier itoa(68000UL, buf, 10); das Array "2464"
Wenn ich das auf dem PC ausführe, dann kommi immer das richtige Array raus.
Habt ihr vielleicht einen Tipp?
Danke im Voraus, Yaro
-
Erfahrener Benutzer
Roboter Experte
Hallo Yaro,
auf dem AVR ist int 16 bit groß, deshalb funktioniert itoa (integer to ascii) nur mit diesem Zahlentyp. Für 32-Bit Werte muss man utoa (unsigned long to ascii) oder ltoa (long to ascii) nehmen.
MfG Mark
-
Erfahrener Benutzer
Roboter Experte
Vielen Dank für die superschnelle Hilfe!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen