|
EEPROM.h
Was hier steht, bezieht sich auf Version 1.6.5 der IDE.
Diese Bibliothek ermöglicht den Zugriff auf das in einem ATmega
(der auf einem Arduino verbaute Mikrocontroller) enthaltene EEPROM
(electrically erasable programmable read-only memory). Was sich in
diesem Speicher befindet, bleibt auch dann erhalten, wenn der Arduino
nicht mit Energie versorgt wird. Die Speicherzellen des EEPROMs können
jeweils ein Byte bzw. ein Bit-Oktett aufnehmen (eine Ganzzahl von
0 bis 255).
Um diese Bibliothek in eigenem Code nutzen zu können, muss sie
mittels
#include <EEPROM.h>
eingebunden werden. Wer das nicht eintippen möchte, wählt im
Editor den Menüpunkt Sketch → Include Library … → EEPROM.
Die Adressen der Speicherzellen werden mit der Null beginnend
fortlaufend hochgezählt. Wie groß dieser Speicher ist, hängt
davon ab, welcher ATmega sich auf dem Arduino-Board befindet: Der ATmega168
besitzt 512 Bytes, das EEPROM eines ATmega328 ist 1 kB groß
(1024 Bytes, Adressen 0 bis 1023).
Die EEPROM-Bibliothek stellt folgende Befehle zur Verfügung:
Die Befehle sind mit der jeweiligen Seite der Referenz bei arduino.cc verknüpft. Dort finden sich häufig auch
Codebeispiele.
-
EEPROM.read(Adresse)
- Liest einen Wert aus einer Speicherzelle. In der Klammer ist die Adresse
der Speicherzelle anzugeben. Beispiel: val=EEPROM.read(51);.
-
EEPROM.write(Adresse, Wert)
- Schreibt einen Wert in eine Speicherstelle. In der Klammer sind Adresse
und Wert anzugeben. Beispiel: EEPROM.write(689, 5);
-
EEPROM.update(Adresse, Wert)
- Schreibt den angegebenen Wert in die durch Adresse angegebene
Speicherzelle. Es wird jedoch nur dann geschrieben, wenn der dort gespeicherte
Wert vom angegebenen abweicht. Hintergrund: Die Zahl der Schreibvorgänge
ist begrenzt (lt. Atmel mindestens 100.000 Lösch-/Schreibzyklen).
Mit diesem Befehl kann die Lebensdauer des EEPROMs verlängert
werden. Beispiel: EEPROM.update(105,3);
-
EEPROM.get(Adresse, Daten)
- Liest ein Objekt oder eine zusammengesetzte Variable (eine sog. Struktur)
aus dem EEPROM. In der Klammer sind Adresse und Daten anzugeben.
Beispiel: val=EEPROM.get(5, mystruct);.
-
EEPROM.put(Adresse, Daten)
- Dies ist das „Gegenstück“ zu get(). Mit diesem
Befehl wird das angegebene Objekt bzw. die angegebene Struktur in das EEPROM
geschrieben. Beispiel: EEPROM.put(0, mystruct);
-
EEPROM[Adresse]
- Der []-Operator ermöglicht, auf das EEPROM wie auf eine Feldvariable
(ein Array) zuzugreifen. Er macht im Grunde das Gleiche wie read()
und write() und unterscheidet sich von diesen Befehlen lediglich
hinsichtlich der Syntax:
val=EEPROM[5]; (lesen)
EEPROM[5]=val; (schreiben)
Weiter zu: Wire.h (I²C)

|
|