Hallo,
writeInteger ist für 16 Bit Werte! Mit 32 Bit gibts dann Müll
Aber ich kann mir auch nicht vorstellen das Du wirklich 32 Bit Wert brauchst.
(nein ich hab nicht den ganzen Thread gelesen)
Jedenfalls wenn Du das unbedingt brauchst kannst Du das mal hiermit probieren:
Und ja, das kann negative Werte ausgeben!Code:// Original - nur um die Änderungen zu verdeutlichen: /* void writeInteger(int16_t number, uint8_t base) { char buffer[17]; itoa(number, &buffer[0], base); writeString(&buffer[0]); } */ // Geänderte Version: void writeInteger32(int32_t number, uint8_t base) { char buffer[33]; // 33 wegen BIN! Für DEC wärs natürlich nicht nötig... itoa(number, &buffer[0], base); writeString(&buffer[0]); }
AVRLibC Doku:
http://www.nongnu.org/avr-libc/user-manual/index.html
MfG,
SlyD







Zitieren

Lesezeichen