Forum: Mikrocontroller und Digitale Elektronik Externes I2C-EEPROM auslesen


von Matthias (Gast)


Lesenswert?

ich möchte ein I2C-EEPROM 24C64
vom AVR aus mit dem sequential read auslesen.

Ich schreibe also I2C-Start, Control-Byte,
Adressbytes 1 und 2, Start und Control.

Nun müsste ich lt. Datenblatt die bytes eines
nach dem anderen auslesen können.

Darf ich, wenn ich en byte gelesen und bestätigt
habe ein wenig warten um das byte seriell
auszugeben, bevor ich das nächste Byte auslese?

Im meinem Datenblatt fand ich dazu nichts.

Gruss
   Matthias

von Andreas Hesse (Gast)


Lesenswert?

Hallo,

siehe auch http://www.mikrocontroller.net/forum/read-1-106023.html#new
. Bei I2C ist die minimale Zeit kritisch (die darf nicht unterschritten
werden.). Die maximale Zeit kannst Du (bei reiner Master-Slave
Kommunikation) "frei" wählen.

Gruss
Andreas

von Matthias (Gast)


Lesenswert?

Hallo Andreas,

danke für den Hinweis. :-)

Dort las ich allerdings auch etwas von einem
möglichen Timeoutzähler von 1ms.

Du meinst also es gibt keine Probleme, wenn ich
mal ein paar Sekunden lang zwischen den Bytes
warte.

Dann werde ich es mal so weiter implementieren.

Gruss
    Matthias

von Peter D. (peda)


Lesenswert?

Ein Timeout ist nur in Multimasternetzen notwendig, falls sich da mal
was verklemmt (Softwarefehler, Störimpulse).

Da man dort ja nicht weiß, welcher Master gerade abgekackt ist, macht
eben jeder den Timeout und gut is.

Als Singlemaster kann man jedoch einfach ein Stop senden (u.U. bis zu 9
mal), bis der Bus wieder frei ist.


Peter

von Ratber (Gast)


Lesenswert?

Genau so isses.

I2C ist was das Protokoll anbetrifft völlig Zeitunkritisch da I2C
eigentlich nur auf simplen Schieberegistern mit einfacher logik beruht
(Interface only natürlich)

Du kannst beide Leitungen bis zum Limmit Takten aber auch die Bits im
Wochen oder Monatsrythmus per Kippschalter schalten.

Wie Peter schon sagte gibt es Timeouts nur bei mehreren Mastern am Bus
und selbst dort hats du genug zeit zum versenden denn du kannst das
Eeprom auch Adressiert auslesen.
Da spielt es keine Rolle ob zwischendurch ein anderer was gelesen hat.

von Matthias (Gast)


Lesenswert?

vielen Dank für die wertvollen Tipps!

Gruss
    Matthias

von ...HanneS... (Gast)


Lesenswert?

Die Kippschalter aber bitte entprellen... (grins)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.