Herunterladen Diese Seite drucken

Optelec ClearNote HD Bedienungsanleitung Seite 87

Vorschau ausblenden Andere Handbücher für ClearNote HD:

Werbung

nTimeout
Rückgabewert
Die Funktion gibt im Erfolgsfall Null zurück, andernfalls einen Fehlercode (Anhang A,
Rückgabewerte aus den API-Funktionen ).
Beschreibung
Die Funktion I2CWriteEEPromPollAck schreibt Daten auf ein serielles I2C-
EEPROM und prüft, ob der Schreibvorgang innerhalb einer gegebenen Zeitspanne
abgeschlossen wird.
Der Zugriff auf eine Speicheradresse auf einem I2C-EEPROM wird prinzipiell über eine
normale Schreib- bzw. Leseanforderung auf dem I2C-Bus realisiert. Somit müssen
bei einem Schreibzugriff nur die passende Slave-Adresse, die Offset-Adresse auf
dem Chip und die eigentlichen Daten gesendet werden.
Die Funktion I2CWriteEEPromPollAck setzt die übergebene Speicheradresse auf
dem Chip anhand der Angabe von der Subadresse und der Adressierungsvariante
des vorliegenden EEPROM-Typs korrekt um. Eine Angabe der Slave-Adresse entfällt,
da diese bereits durch die vorhandenen Parameter festgelegt ist.
Tipp
Beim Programmieren von EEPROMs ist zu beachten, dass der EEPROM-
Speicher in sogenannte Pages unterteilt ist, und dass mit einem einzelnen
Schreibbefehl nur innerhalb einer Speicherseite programmiert werden
kann. Benutzer von I2CWriteEEPromPollAck müssen selbst sicherstellen,
dass sie nicht über Seitengrenzen hinaus schreiben. Die jeweilige Größe
einer Speicherseite ist abhängig vom EEPROM-Typ.
Im folgenden ein Programmier-Beispiel, das ein EEPROM vom Typ ST24C1024
komplett löscht.
#include <AnaGateDllSPI.h>
int main()
{
char
AnaInt32
AnaUInt16 nSubAddress = 0;
AnaUInt32 nOffsetFormat = 0x10|0x0F;
AnaUInt16 nTimeout = 100;
int nRC = I2COpenDevice(&hHandle, 400000, "192.168.1.254", 5000);
I2C API Funktionen
Anmerkung
Die
maximal
EEPROMs kann aus der Summe aller Adressbits
berechnet werden. So benötigt z.B. ein M24C08 acht
Bits des Adressbytes und 1 zusätzliches Bit. Damit
können über die 9 Bits insgesamt 512 Bytes adressiert
werden.
Timeout in Millisekunden für den Schreibvorgang.
cBufferPage[256];
hHandle = 0;
1
adressierbare
2
78
© 2007-2015 Analytica GmbH
Speichergröße
eines

Werbung

loading