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:
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]);
}
Und ja, das kann negative Werte ausgeben!
AVRLibC Doku:
http://www.nongnu.org/avr-libc/user-manual/index.html
MfG,
SlyD
Lesezeichen