INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Thema geschlossen 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
float in eeprom
28.12.2015, 17:39
Beitrag #1
float in eeprom
hallo
ich versuche seit tagen eine floatzahl, die durch einen counter entsteht ins eeprom zu schreiben, dann wieder auszulesen und mit der ausgelesenen zahl weiterzuzählen.
eine ganzzahl habe ich geschafft - aber keine float
leider hat das mit der ganzzahl aber auch nur bis ca. 250 geklappt - dann hat es wieder von vorne angefangen zu zählen.
ich verstehe nicht was da passiert - kann mir vielleicht jemand weiterhelfen?
ich hab alle beispiele mit write, read, get und so angeschaut, bringe es aber nicht zusammen. bin leider kein programmiertalent... und ziemlich am verzweifeln!
Undecided goldfisch
Alle Beiträge dieses Benutzers finden
28.12.2015, 17:50
Beitrag #2
RE: float in eeprom
Diese Frage versteh ich jetzt aber nicht.
Das wurde dir doch in deinem anderen Thread schon sehr genau beantwortet, was ist denn dabei nicht klar?
Du solltest dich dringend mit den Grundlagen (auch EEprom) befassen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
28.12.2015, 18:32
Beitrag #3
RE: float in eeprom
für mich waren die erklärungen leider zu wenig klar - ich hab es schlicht und einfach nicht begriffen.
inzwischen hab ich weiter gewurstelt...
hier ist mein code
es rechnet inzwischen mit float auch im eeprom - aber er fängt immer wieder bei null an, wenn ich ihn ausschalte. ich bringe ihn nicht dazu, die zahl aus dem eeprom zu übernehmen und damit weiterzuzählen.
vielleicht kannst du mir sagen, wo ich den fehler mache Undecided
das wär echt lieb Smile

Code:
// include the library code:
#include <LiquidCrystal.h>
#include <EEPROM.h>


// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 6, 5, 4, 3);

// set pin numbers:
const int switchPin =2; // choose the input pin (for a pushbutton)
const int ledPin = 13; // choose the pin for the LED


int val = LOW; // variable for reading the pin status
int tasterGedrueckt = 0;          // abfragen ob Taster gedrückt war
float counter = 0;
int ledStatus = LOW;

int entprellZeit = 200;           // Zeit für Entprellung, anpassen!

unsigned long tasterZeit = 0;     // Zeit beim drücken des Tasters
unsigned long ledMillis = 0;      // Zeit für den Blinkrythmus der LED


float f = 0.00f;   //Variable to store data read from EEPROM.
  int eeAddress = 0; //EEPROM address to start reading from

void setup() {

  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.  
  lcd.print("meters done");
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(switchPin, INPUT);
  Serial.begin(9600);

while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  
//Get the float data from the EEPROM at position 'eeAddress'
  EEPROM.get(eeAddress, f);
  Serial.println("get float from EEPROM: ");
  
  Serial.println(f, 3);    //This may print 'ovf, nan' if the data inside the EEPROM is not a valid float.
  lcd.print(f, 3);
  
  lcd.setCursor(0, 1);
  lcd.print(f,3);

}

void loop() {
  
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  val = digitalRead(switchPin); // read input value

  if (val == HIGH) { // check if the input is HIGH (button released)
    tasterZeit = millis();      // aktualisiere tasterZeit
    tasterGedrueckt = 1;        // speichert, dass Taster gedrückt wurde
  }
  // Wenn die gewählte entprellZeit vergangen ist und der Taster gedrückt war...
  if ((millis() - tasterZeit > entprellZeit) && tasterGedrueckt == 1)
    {


    counter = counter + 120.732 ;
    tasterGedrueckt = 0;    // setzt gedrückten Taster zurück

    f = counter;

    EEPROM.write(eeAddress, f);

        lcd.print(counter,3);lcd.print(" m ");
        Serial.print(counter,3);Serial.println(" m aus counter");

         Serial.print(f,3);Serial.println(" eeprom");
         lcd.print(f,3);
    }

}
Alle Beiträge dieses Benutzers finden
28.12.2015, 18:45
Beitrag #4
RE: float in eeprom
Was liest du denn beim Neustart aus?
Und das EEprom kann nicht mit Float rechnen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
28.12.2015, 18:54 (Dieser Beitrag wurde zuletzt bearbeitet: 28.12.2015 20:42 von Bitklopfer.)
Beitrag #5
RE: float in eeprom
Wegen Doppelposting Thread GESCHLOSSEN

Also hier dann bitte weitermachen.

lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String in EEPROM Speichern BennIY 2 405 27.06.2016 10:23
Letzter Beitrag: BennIY
  Rechnen mit float und unsigned long Rudi 3 300 03.06.2016 12:41
Letzter Beitrag: hotsystems
  Grundlagenfrage EEPROM Tobias1984 3 489 14.04.2016 10:43
Letzter Beitrag: Bitklopfer
  Attempt to write outside of EEPROM memory anwo 1 374 12.02.2016 11:06
Letzter Beitrag: anwo
  Ins eeprom schreiben/lesen anwo 10 1.781 07.02.2016 20:05
Letzter Beitrag: rpt007
  Suche Konzept für ein Inhaltsverzeichnis eines EEPROM avoid 0 311 27.01.2016 10:49
Letzter Beitrag: avoid
  Auf externen EEPROM schreiben diode1990 5 962 08.11.2015 22:57
Letzter Beitrag: diode1990
  stm32f103c8t6 EEPROM löschen opa michi 9 1.259 29.10.2015 20:57
Letzter Beitrag: Klaus(i)
  Float über I2C zwischen 2 Arduinos UNO Marduino_UNO 9 1.616 19.10.2015 09:09
Letzter Beitrag: Retian
  ESP8266 EEPROM Probleme Pf@nne 5 2.429 09.10.2015 18:00
Letzter Beitrag: Pf@nne

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste