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)



Zur Library I2C-EEPROM