Forum: Mikrocontroller und Digitale Elektronik TWI Interrupt


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Andreas Mader (Gast)


Lesenswert?

Hallo!

Wird beim TWI der Interrupt im Slave Modus nur ausgelöst, wenn die
Slave Adresse stimmt oder wird zuerst allgemein der Interrupt ausgelöst
und dann erst die Adresse kontrolliert?

Danke für Antworten!

mfg Andi

von Thomas Burkhardt (Gast)


Lesenswert?

Soweit ich mich erinnere wird der TWI Interrupt (assume AVR Mega) bei
jeder Aktion aufm Bus ausgelöst. Du musst in deiner ISR das
Statusregister TWSR auswerten, um die entsprechenden Reaktionen
durchzuführen.

von Kupfer Michi (Gast)


Lesenswert?

Bei den Megas mit voller TWI unterstützung wird zwar nach jedem
vollständigen Byte ein Interupt ausgelöst, wenn man jedoch als Slave
auf eine neue Nachricht vom Master wartet so generiert die Address
Match Unit erst bei Adressübereinstimmung (ausnahme General Call) mit
TWAR einen Interupt. Dieser Interupt kann dann sogar die MCU aus dem
Sleep Modus aufwecken.

von Thomas Burkhardt (Gast)


Lesenswert?

Jo, ich habe nicht genau gelesen ;-)
Ich meinte natürlich, dass in dem Fall, wenn die Addresse stimmt bzw.
ein General Call vorliegt, trotzdem mehrere Interrupts ausgelöst
werden. Es muss auf jeden Fall das Statusregister ausgelesen werden, da
der Inhalt des Datenregisters abhängig von der jeweils verursachenden
Kondition ist.

von Kupfer Michi (Gast)


Lesenswert?

Die ganz neuen Megas haben sogar glaub ich die Möglichkeit auf
Adressgruppen als Slave Address zu triggern.

von Mader Andreas (Gast)


Lesenswert?

Danke! Ich habe einen Mega 8 und einen Mega 16! Wie schauts bei denen
aus? Bekomme ich nur einen Interrupt wenn die Slaveadresse stimmt?

mfg Andi

von Kupfer Michi (Gast)


Lesenswert?

Hmmm... und was hindert dich daran diese Frage durch Lesen des M16/M8
Datenblattes (kapitel Address Match Unit und Control Unit) dir selbst
zu beantworten?

von Mader Andreas (Gast)


Lesenswert?

Danke - habs aber zuerst nicht gefunden im Datenblatt!

Stimmt es, dass er jedesmal einen Interrupt auslöst (hätte ich aus dem
Datenblatt gelesen)?

Danke

mfg andi

von Kupfer Michi (Gast)



Lesenswert?

Hast du dir die Atmel Notes AN311 und AN315 schon durchgelesen?

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]
  • [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.