Hallo, Ich habe ein echtes Speicherproblem mit dem AT90s2313. Ich möchte am LCD einen Wert vom LM75 ausgeben, wegen dem begrenzten Speicher gehts nicht mit "sprintf(buf,"%d",ret)". ret=i2c_start(LM75adress+I2C_READ); sprintf(buf,"%d",ret); lcd_puts(*buf); wie kann man das anders schreiben? Kann mir jemand aus der Klemme helfen, 2kbyte sind echt nicht viel aber das muss auch anders gehen, oder? Vielen Dank und Frohes Fest die amme
hmm, ich werd mal schauen. Aber so ein kleiner Tip wäre nicht verkehrt. :-)) der Returnwert "ret" ist entweder 0 oder 1 aber wenn ich "ret" direkt ausgeben auf dem Display sieht das symbol nach allem aus aber nicht nach 0 oder 1. :-( Gruß Thomas
schau dir mal an welche nummer '0' im ascii code hat. das war der kleine tip :)
Die speichersparendste und schnellste Methode ist die Subtraktionsmethode: http://www.mikrocontroller.net/forum/read-4-46127.html#new Die float Ausgabe mußt Du auskommentieren, da Du sie nicht brauchst. Peter
Prima vielen Dank. Ich habe auch mal folgendes probiert: itoa(ret,buf,10); von "ret" => "buf" damit gehts soweit auch, mal schauen was besser geht.
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.