für floats habe ich nichts passendes gefunden, ftoa ging bei mir nicht und sprintf verbietet sich, weil es zuviel flashspeicher klaut.

ich habe das dann so gelöst:

Code:
void display(int value)
{
    char buffer[8];
    float f=((float)value*5)/1023;
    if(f<0)f=0;
    itoa((int)f,buffer,10);
    lcd_puts(buffer);
    lcd_putc(',');
    f=(f-(int)f)*1000;
    if(f<100)lcd_putc('0');
    if(f<10)lcd_putc('0');
    itoa((int)f,buffer,10);
    lcd_puts(buffer);
    return;
}
in diesem fall wird eine kommazahl ausgegeben, die sich aus value berechnet. 0->0,000; 1023->5,000.

besonders elegant ist das ja nicht, und braucht sicher auch eine menge speicher. weiss jemand, wie man das einfacher/besser hinbekommt?

gruesse von der katz