Forum: Mikrocontroller und Digitale Elektronik Speicherproblem beim AT90s2313, hilfe.


von die amme (Gast)


Lesenswert?

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

von Tobi (Gast)


Lesenswert?


von die amme (Gast)


Lesenswert?

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

von Tobi (Gast)


Lesenswert?

schau dir mal an welche nummer '0' im ascii code hat.
das war der kleine tip :)

von die amme (Gast)


Lesenswert?

ok danke, ich schaue mal. :-)

von Peter D. (peda)


Lesenswert?

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

von die amme (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.