Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB