EEPROM.h

Inhaltsverzeichnis

Vorweg

Beispiel

Software holen und installieren

Programmieren
EEPROM.h

Wire.h (I²C)

Servo.h

Links

Ergänzungen, Tipps und Tricks

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)


Nach oben Inhaltsverzeichnis

Valid HTML 4.01 Transitional