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.