Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Thomas, > > > ich habe da nen problem und komme nicht weiter und zwar möchte ich eine > > float zahl zb 23,4 im eprom speichern und auch wieder auslesen. > > > > zurzeit schreibe ich einen string ins eprom aber denn kann ich zur weiteren berechnung > > nicht verwenden. das problem ist das dieser zahlenwert aus dem eprom unbeding ein > > Float sein muß. was ich rein schreibe ist eigendlich egal.( amliebsten einen string sont muß ich ne menge > > andern.) > > > > gibt es da eine möglichkeit einen string in ein float zu wandeln oder direkt ein float ins eprom zu schreiben. > > das modul eeprom gibt das ja nicht her > > Ich habe absichtlich float nicht implementiert, da ich davon ausgehe, > daß die Funktionen des Moduls mem.c2 bekannt sind. > > So schreibst Du ein float ins EEProm: > > function writefloat(byte eepromaddr, int addr, float data) > { byte temp[8]; > mem.putfloat(temp,0,data); > eeprom.writebytearray(eepromaddr, addr, temp, 8); > } > > ... und so liest Du ein float aus dem EEProm: > > function readfloat(byte eepromaddr, int addr) returns float > { byte temp[8]; > eeprom.readbytearray(eepromaddr, addr, temp, 8); > return mem.getfloat(temp,0); > } > Beachte, daß ein float 8 Byte benötigt. > > Also, einfach nochmal die Funktionen in mem.c2 durchgehen (siehe Handbuch). > Aber vielleicht implementiere ich auch floats in eeprom.c2 in der > nächsten Version. :-) > > Wenn Du aber Festkommawerte ins EEProm speichern willst, empfehle > ich Dir dringend mit Integer oder long zu arbeiten, um Speicher > zu sparen. Ein Integer benötigt 2 Byte, ein Longint 4 Byte. > Einen Float benötigt man i.d.R. nur, wenn sehr viele stellen hinter und/oder > nach dem Komma benötigt werden. > Aber auch bei "komplizierten" Formeln. (z.B. mit log, sin, cos, tan ...) > Die Auswertung eines Temp.Sensors gehört nicht dazu. :-) > Ich Rechne auch mit "Komma"-Zahlen (bis 5 Kommastellen), > und bis jetzt reicht der long-Typ völlig dafür aus. :-) > > Als Grundregel gilt: > Immer die einfachste Art der Zahlen verwenden (und die, die am > wenigsten Platz wegnimmt). > Das entlastet auch die CPU sehr. > > MfG André H.