mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externes I2C-EEPROM auslesen


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Hesse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen Dank für die wertvollen Tipps!

Gruss
    Matthias

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Kippschalter aber bitte entprellen... (grins)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.