Wann ist dieser Inteerupt beendet?

Gast #1044476
.....INTF1 (External Interrupt Flag 1)

    Dieses Bit wird gesetzt, wenn am INT1-Pin eine Interrupt-Kondition, 
entsprechend der Konfiguration, erkannt wird. Wenn das Global Enable 
Interrupt Flag gesetzt ist, wird die Interruptroutine angesprungen.
    Das Flag wird automatisch gelöscht, wenn die Interruptroutine 
beendet ist. Alternativ kann das Flag gelöscht werden, indem der Wert 
1(!) eingeschrieben wird. ......


Ist der Interrupt beendet, wenn ich die Routine verlassen habe bzw wird 
dann erst das Flag gelöscht ?

ISR(INT0_vect)
{

  encoder_li = encoder_li+1;

  if(encoder_li >= enc_wert)
    {
      robby_aus();  // Ist auch noch eine Funktion
      encoder_li=0;
      encoder_re=0;
    }

}
Gast #1045339
...Das INT-Flag bei flankengetriggerten externen IRQs wird beim 
ausführen
des IRQ-Vektoes zurückgesetzt, d.h. beim ersten Befehl der ISR ist das
Bit 0....

Dann wird ja schon am Anfang der Interrupt wieder freigegeben obwohl ich 
mich noch in einer Aufrufschleife/Arbeitsroutine befinde , die ich noch 
erlegigen muss?

mfg
Gast #1045987
Also, hab ich so richtig verstanden?
Das Interrupt-Flag für das auftreten des einzelnen Interrupts wird beim 
Einsprung zurück gesetzt, um keinen Interrupt wärend der Abarbeitung zu 
verlieren. Das globale Interrupt-Enable-Flag wird beim Verlassen des 
Interrupts wieder gesetzt.
#1045991
Korrekt.

Wäre der Vollständigkeit halber nur noch anzufügen, dass dies auf viele 
Interrupt-Quellen der AVRs zutrifft, nicht aber auf alle. Bei manchen 
leitet sich das Interrupt-Flag anders ab und muss evtl. explizit 
zurückgesetzt werden. Näheres verrät das Datasheet.

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.