mikrocontroller.net

Forum: Compiler & IDEs Loeschzeitpunkte der Interruptflags bei AVRs


Autor: Jean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine einfache Frage zum Umgang der AVRs mit Interrupts und 
konnte in den Foren bisher nichts finden.

Tritt ein Interrupt auf, wird das zugehoerige Interrupt-Flag gesetzt. 
Was ich gerne wissen moechte, ist, wann die Flags wieder geloescht 
werden. Werden sie bei Betreten der ISR geloescht, oder bei deren 
Verlassen?

Im Datenblatt habe ich folgendes gefunden, es ist hier aber etwas 
ungenau:

Datenblatt ATmega8 S.13:
The first type is triggered by an event that sets the Interrupt Flag. 
For these interrupts, the Program Counter is vectored to the actual 
Interrupt Vector in order to execute the interrupt handling routine, and 
hardware clears the corresponding
Interrupt Flag.

Datenblatt ATmega8 S.69:
The flag is cleared when the interrupt routine is executed.


Vom letzten Zitat ausgehend, nehme ich an, dass die Flags bei Betreten 
('is executed') der ISR geloescht werden (auch weil dann wieder ein 
neuer Interrupt des selben Typs 'vorgemerkt' werden kann).
Liege ich hiermit richtig?

Vielen Dank,

Jean

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Jean (Gast)

>werden. Werden sie bei Betreten der ISR geloescht,

Ja.

> oder bei deren Verlassen?

Nein.

Es gibt aber wenige Ausnahmen, z.B. den UART-RX Interrupt, den 
löscht man implizit durch Auslesen von UDR.

>Vom letzten Zitat ausgehend, nehme ich an, dass die Flags bei Betreten
>('is executed') der ISR geloescht werden (auch weil dann wieder ein
>neuer Interrupt des selben Typs 'vorgemerkt' werden kann).
>Liege ich hiermit richtig?

Ja.

MfG
Falk

Autor: Jean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank fuer die schnelle Antwort!
Ihr seid echt Klasse!

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.