Allgemeine Interrupt frage

Gast #1612623
Hallo,

angenommen ich habe eine Code:
1
cli();
2
....
3
Jede Menge toller C-Code
4
....
5
sei();

Dann sind ja während dieser Zeit die Interrupts gesperrt, wenn jetzt 
aber trotzem die Bedinungen für einen Interrupt während dieser Zeit 
gegeben sind ( z.b. Signal am Ext. Interrupt), wird dieser dann direkt 
nach der Reaktivierung abgearbeitet, oder geht der verloren ?

Gruß

Thomas
Gast #1612629
Die Interruptflags werden ja gesetzt, egal ob global die Interrupts 
aktiviert sind oder nicht.
Falls nach Reaktivieren des global interrupt enable (sei) gesetzte Flags 
gefunden werden und die entsprechenden Interrupts eingestellt sind, 
werden diese ausgeführt.
(die Reihenfolge der Abarbeitung bei mehreren Interrupts richtet sich 
glaube ich nach der Reihenfolge der Einsprungvektoren).
;-)
Gast #1612630
depends. I.d.R. wird das Flag gespeichert und der zugehörige Handler 
dann angesprungen (Priorität beachten bei mehreren IRQs!). Verloren geht 
'der Interrupt' i.d.R., wenn er mehrfach ausgelöst wird, dann wird der 
Handler (i.d.R.) nur ein Mal angesprungen.

Die Details stehen wie immer im Datenblatt :-)

HTH
#1612634
@  Thomas D (Gast)

>gegeben sind ( z.b. Signal am Ext. Interrupt), wird dieser dann direkt
>nach der Reaktivierung abgearbeitet,

Ja.

> oder geht der verloren ?

Nur dann, wenn innerhalb der Sperrzeit mehr als ein Interrupt vom selben 
Typ auftritt. Siehe Interrupt.

MfG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.