TWI bei Mega8 - Nicht vorhandener Teilnehmer

OP #1053580
Hallo zusammen,

ich beschäftige mich gerade mit dem Bau eines RS232 <-> I2C-Wandlers mit 
einem ATmega8. Dabei ist mir folgende Frage in den Sinn gekommen, auf 
die das Handbuch des AVRs auch keine Antwort hat (oder die ich einfach 
überlesen habe...):

Was passiert, wenn der I2C-Master einen I2C-Slave adressiert, der nicht 
am Bus hängt oder aus irgendeinem Grund nicht antwortet (Port defekt, 
Controller hängt, Störung etc.)?
Wartet der Master auf eine Antwort, sprich: Muss ein Timer dafür sorgen, 
dass nach Ablauf einer gewissen Zeitspanne ohne Antwort der Sendevorgang 
abgebrochen wird?
Oder wird durch den Takt auf der SCL-Leitung ein NAK gelesen, weil sich 
kein Teilnehmer angesprochen fühlt und die Datenleitung auf +5V bleibt?


Danke schon mal für die Antworten.


Grüße aus dem (noch halbwegs) sonnigen München,


Markus
OP #1056046
In der Spez. hab ich da leider auch nichts gefunden. Bei genauerer 
Überlegung muss es aber so sein, dass ein nicht vorhandener Teilnehmer 
erkannt wird, einfach aus dem Grund, weil die Datenleitung nicht auf 0V 
gezogen wird und die Antwort damit mit NACK übertragen wird.

Zum Thema ACK/NACK hab ich jetzt noch eine Frage:
Nach I2C ist spezifiziert, dass im Master Receiver-Mode der Empfänger 
die Übertragung vorzeitig beenden kann, in dem er bei einem Lesevorgang 
ein NACK sendet (für den Fall, dass der Sender mehr Daten übertragen 
will, als dem Empfänger speichern kann).
Hat der Sender auch die Möglichkeit, die Übertragung vorzeit zu beenden 
(Empfänger erwartet mehr Daten, als der Sender überträgt)?


Danke nochmals für eure Antworten


Viele Grüße und ein schönes Wochenende,

Markus
Gast #1056057
>Hat der Sender auch die Möglichkeit, die Übertragung vorzeit zu beenden
>(Empfänger erwartet mehr Daten, als der Sender überträgt)?

Vielleicht einfach durch eine STOP-Anweisung?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.