Was ist ein Level Interrupt?

Gast #4858630
Lesenswert?
• ▲
▼
Hallo,

beschäftige mich gerade mit dem Anwenden der Stromsparmodi, die die AVRs 
so hergeben. Der Powerdown klingt sehr gut, insbesondere gefällt mir der 
Stromverbrauch.

Aber:
In der Doku heißt es, dass ich den AVR dann zum Beispiel mit einem 
Level-Interrupt an INT0 aufwecken kann.

Was ist denn der Unterschied zwischen einem "normalen" Interrupt, wie er 
durch einen Taster o.ä. mit Flankenerkennung ausgelöst würde und einem 
Level Interrupt? Bzw. was ist das überhaupt?

Danke für kurze Hilfe.
#4858660
Lesenswert?
• ▲
▼
Eine Sache kann verwirren: INT0/1 wecken nur im Level-Modus auf, nicht 
aber im Flankenmodus. Pin-Change hingegen weckt auf, obwohl das 
natürlich ein Flanken-Modus ist.

Das dürfte historische Gründe haben. Der Flanken-Interrupt von INT0/1 
ist synchron implementiert und benötigt einen Takt. Diese Eigenschaft 
wurde wohl aus Familienkompatbilität über die Jahre und Modelle 
gerettet. Die spätere Pin-Change Erkennung hingegen wurde von Anfang an 
so asynchron implementiert, damit ein Wakeup darüber möglich ist.

Antwort schreiben

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.

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.