Also mein avr-gcc (3.4) nimmt nach
#include <stdlib.h>
brav das itoa() ist der libc.a.
Oder selber Hand anlegen:
Code:
char buf[6];
void itoa (unsigned short num)
{
char i;
for (i=4; i>=0; i--)
{
char digit = num % 10;
if (i < 4 && num == 0)
digit = ' ';
else
digit += '0';
num /= 10;
buf[i] = digit;
}
}
buf[] enthält danach den ASCII-String mit abschliessender '\0'.
Die '\0' wird schon im startup Code geschrieben. Das geht aber bestimmt noch kürzer und schneller mit der div() Funktion, die gleichzeitig Rest und Quotient liefert.
Falls dein Terminal das nicht darstellt wie gewohnt, musst du eben noch den ASCII nach Terminal-Sonderlocke-Format konvertieren.
Lesezeichen