-         

Ergebnis 1 bis 4 von 4

Thema: In den Eeprom schreiben / lesen zum Verständniss für alle

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    41
    Beiträge
    142

    In den Eeprom schreiben / lesen zum Verständniss für alle

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    da ich in der Suche nicht fündig geworden bin, möchte ich den erfahreneren Programmierern bitten eine einfache und verständliche
    Übersicht zu erstellen. Vielleicht am Beispiel mit dem Mega 8.

    ReadEeprom und WriteEeprom ist verständlich genug denke ich.

    was hat es mit den Labels / Data auf sich
    Was bedeutet data 1,2,3,4 oder 1%,2,3%
    Mit eram kann man direkt aus dem Eeprom arbeiten ohne eine 2. Variable zu benutzen ?

    Wie spreche ich eine Startadresse an, wo eine großer Wert wie 100 000 000,0000000 drin steht.
    Die erste Eepromadresse darf nciht benutzt werden, da diese überschrieben werden.

    Wie müssen die Variablen dimensioniert werden?
    Wie lang darf eine Zahl mit kommastellen mit welcher wariable sein -
    String, word, single, double, long ?

    Kann jemand ein verständlcihes Programmbeispiel posten ?

    Aus der Bascom Hilfe werde ich nicht schlau, was sonst immer funktioniert.

    Bringt doch mal etwas Licht für die Anfänger in das Dunkle.

    Die Kurzfassung könnte man in den Wissensbereich schreiben.
    Dort habe ich nur etwas über externe Eeproms für 1c2 Bus gefunden.

    Ich danke euch.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    NRW
    Alter
    45
    Beiträge
    169
    Hallo Mirco,

    also ich bin auch absoluter Anfänger, habe aber mittlerweile ein (für mich) umfangreiches Programm geschrieben.

    Da es ungefähr 1000 fragen auf einmal sind versuch ich mal etwas davon zu beantworten:

    Die Bascom Hilfe zu den Data Zeilen finde ich absolut verwirrend.


    Label1:
    Data 1 , 2 , 3 , 4 , 5

    Readeeprom B , Label1
    Print B 'prints 1

    So, das besagt das die variable B nun den Wert 1 hat. `
    Aber warum ? Mit dem Label1 übergibt man doch nur die Speicheradresse im EEPROM, nicht den Wert, also wird wohl vorher ein Wert in das EEPROM übertragen worden sein.

    Wenn man jetzt writeeeprom 23, 1 schreibt käme bei dem obigen Versuch bei PRINT B 23 raus ....

    Wie die variablen dimensioniert sein müssen hängt natürlich davon ab was für Werte Du ins EEPROM schreiben möchtest (einzelnes bit, ein Byte, Word etc.). Wenn Du z.B. den Wert 255 ins EEPROM schreiben möchtest, benötigst Du ein Byte als Dimensionierung. Bedenke aber auch das wenn Du z.B. an Speicherstelle 1 den Wert 255 schreibst, Du erst wieder ab Speicherstelle 3 weiterschreiben kannst (vorrausgesetzt Du hast die variable als Byte dimensioniert)

    Gruß
    Jens

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    41
    Beiträge
    142
    Ahhha

    ich kapiere.

    was ist der höchstmögliche Wert, den ich schreiben Kann mit welcher Variable (Double?).

    Ich baue gerade ein Amperestundenmess und Ladegerät für meine Solarzelle. Da ich die ADC Werte fortlaufend addiere, habe ich schnell ein Paar Milionen als Wert stehen.

    Ich benötige nur diesen einen Wert im Eeprom.
    Ich habe gelesen, der Eeprom Speicher nur 100000 mal beschrieben werden kann. Ich wollte jede Sekunde schreiben, um beim Stromausfall,den Amperestundenwert behalten zu können.
    60sekunden mal 60minuten mal 24stunden mal 356Tage = über 30 Millionen mal speichern.
    Nach einem Tag habe ich schon 86400 mal gespeichert und gelesen.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Ich wollte jede Sekunde schreiben, um beim Stromausfall,den Amperestundenwert behalten zu können.
    Wenn Du nicht alle 1,5 Tage den Controller wechseln möchtest ( ) würde ich das mit dem Stromausfall so regeln:

    - Den zu summierenden Wert als "normales" Word dimensionieren
    - Versorgungsspannung über eine Diode und ´nen Elko für 1-2 Sek. puffern
    - Die eigentliche Versorgungsspannung (vor der Diode und dem Elko) auf einen Interrupt-Pin legen
    - Den Interrupt auf fallende Flanke konfigurieren
    - In der ISR den aktuellen Wert des Words ins EEPROM schreiben lassen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •