Hallo,
ich muss in einem Programm mit long-Werten rechnen. Da es nicht so
geklappt hat, wie gewünscht (vermutlich ein casting-Problem), wollte ich
Zwischenwerte ausgeben. Das haut nicht hin:
ueff = 0;
while(1)
{
ueff += 1000;
ltoa(ueff,buf,10);
lcd_setcursor(0,1);
lcd_string(buf);
_delay_ms(200); // warte 200ms
}
Verwende ich itoa, wird der Wert ausgegeben (allerdings bis max. 32768,
danach geht's negativ weiter). Mit ltoa erhalte ich bei ansonsten
unverändertem Code gar keine Anzeige. buf ist ein char[20]-Array.
Wo liegt mein Denkfehler?
Danke,
Sebastian
Hallo, ueff war vom Typ long. Aber irgendwie hatte sich -mint8 als Compileroption eingeschlichen - das war das Problem. Das kommt davon, wenn man alte Makefiles recycled... ;-) Sebastian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.