Funktionen der Library MyEEPROM_I2C
MyEEPROM_I2C MyEEPROM
Funktion: Erzeugt eine neue Instanz
Parameter: keine
Beispiel:
MyEEPROM_I2C EEPROM;
void init(byte i2cAdd)
Funktion: Initialisierung der Library
Parameter: i2cAdd: I2C-Adresse des EEPROMs
Rückgabe: keine
bool isReady(void)
Funktion: Überprüft, ob der Sensor über I2C-Schnittstelle ansprechbar ist
Parameter: keine
Rückgabe: TRUE, wenn Baustein bereit, sonst FALSE
Bemerkung: Die Funktion prüft nur, ob in einem I2C-Bus der Bauteil ansprechbar bzw. vorhanden ist. Es wird vorausgesetzt, dass der I2C-Bus technisch prinzipiell funktioniert (keine offenen Busleitungen, Pullup-Widerstände richtig, kein Kurzschluss oder Masseschluss, etc.).
void setSize(byte size)
Funktion: Setzen der Speichergröße des EEPROMs
Parameter: size: EEPROM-Speichergröße in kBit: 1, 2, 4, 8, ..... 64, 128, 256, 512
EEPROM_1KBIT
bis
EEPROM_512KBIT
Rückgabe: keine
Beispiel:
EEPROM.setSize(EEPROM_2KBIT); //EEPROM-Groesse 2 kBit
// oder: EEPROM.setSize(2);
Achtung: Die Library überprüft nicht, ob die Angabe der Speichergröße richtig ist. Keine Angabe oder eine falsche Angabe der Speichergröße führt zu fehlerhaftem Lesen oder Beschreiben des EEPROMs und kann Speicherbereiche doppelt, mehrfach oder gar nicht anzeigen.
void clearAll(void)
Funktion: Löscht das gesamte EEPROM (jedes Byte wird auf 0xFF gesetzt)
Parameter: keine
Rückgabe: keine
byte readByte(long add)
Funktion: Liest ein Byte vom EEPROM
Parameter: add: Adresse (0 <= add <= Speichergröße[Byte])
Rückgabe: Zahl, die auf "Adresse" gespeichert ist
void readBuffer(long add, byte* buf)
Funktion: Liest 16 Bytes aus dem EEPROM und speichert sie in ein Buffer-Array
Parameter: add: Adresse (0 <= add <= (Speichergröße - 16) [Byte])
buf: Pointer auf ein Buffer-Array mit maximal 16 Byte
Rückgabe: keine
bool readBufferLimiter(long add, byte* buf, byte limiter)
Funktion: Liest n-Bytes aus dem EEPROM ab einer Adresse bis exklusiv einem Begrenzungszeichen und speichert sie in ein Buffer-Array. Wird das Begrenzungszeichen nach einer definierten Anzahl von Bytes (festgelegt in der Variablen readBufferSize) nicht gefunden, erfolgt keine Speicherung.
Parameter: add: Adresse (0 <= add <= (Speichergröße - Größe des Buffer-Arrays) [Byte])
buf: Pointer auf ein Buffer-Array mit maximal 32 Byte
limiter: Begrenzungszeichen (wird nicht mitgelesen)
Rückgabe: TRUE, wenn Lesen bis zum Begrenzungszeichen erfolgreich
FALSE, wenn kein Begrenzungszeichen vorhanden
Bemerkung: siehe dazu Beispiel 2
void writeByte(long add, byte zahl)
Funktion: Schreibt ein Byte auf das EEPROM
Parameter: add: Adresse (0 <= add <= Speichergröße [Byte])
zahl: Zahl, die gespeichert werden soll (0 <= zahl <= 255)
Rückgabe: keine
void updateByte(long add, byte zahl)
Funktion: Schreibt nur ein Byte auf das EEPROM, wenn der Wert verändert wird
Parameter: add: Adresse (0 <= add <= Speichergröße [Byte])
zahl: Zahl, die gespeichert werden soll (0 <= zahl <= 255)
Rückgabe: keine
void writeBuffer(long add, byte* buf, bool allBytes)
Funktion: Schreibt max. 16 Bytes aus einem Buffer-Array in das EEPROM
Parameter: add: Adresse (0 <= add <= (Speichergröße - 16) [Byte])
buf: Pointer auf ein Buffer-Array mit maximal 16 Werten
allBytes: EEPROM_ALLBYTES : alle 16 Bytes werden geschrieben
EEPROM_LIMITED : die Bytes bis zum ersten "NULL"-Zeichen werden geschrieben
Rückgabe: keine
Beispiel:
byte buff[17];
EEPROM.writeBuffer(32, buff, EEPROM_ALLBYTES);
Achtung: Die Adresse add muss ein ganzahliges Vielfaches von 16 sein! (z.B.: 0, 16, 32, 48, 64, etc.)
Variable:
long eepromSizeBit
Funktion: Variable beinhaltet die Speichergröße des EEPROMs in Bit
Bemerkung: eepromSizeBit wird auf Basis der angegebenen Speichergröße in kByte in der Funktion setSize() ermittelt
long eepromSizeByte
Funktion: Variable beinhaltet die Speichergröße des EEPROMs in Byte
Bemerkung: eepromSizeByte wird auf Basis der angegebenen Speichergröße in kByte in der Funktion setSize() ermittelt
byte readBufferSize
Funktion: Variable gibt die Anzahl der Bytes des Lese-Buffer-Arrays für die Funktion "readBufferLimiter" vor
Bemerkung: Standardvorgabe: 32 Byte (= maximale Vorgabe)