Interrupt

Gast #206119
Hallo,

ich habe eine kurze Frage zu Interrupts. Und zwar sind ja soweit ich
verstanden habe während der abarbeitung einer ISR alle weiteren
anstehenden Interrupts blockiert und werden erst nach beendigung der
ISR   berarbeitet. Aber wie merkt sich der Prozessor, dass da ein
Interrup-Request war bzw. wo wird dieser Request bis nach beendigung
der vorherigen ISR zwischengespeichert?

Grüsse Ralf
Gast #206120
>während der abarbeitung einer ISR alle weiteren
>anstehenden Interrupts blockiert und werden erst nach beendigung der
>ISR   berarbeitet

Das hängt ganz davon ab, ob Du das Globale Interruptflag in Deiner ISR
wieder setzt oder nicht.

>wo wird dieser Request bis nach beendigung
>der vorherigen ISR zwischengespeichert?

Das jeweilige Interrupt-Bit im passenden Interrupt-Flag-Register wird
dazu benutzt.
Gast #206121
>während der abarbeitung einer ISR alle weiteren
>anstehenden Interrupts blockiert und werden erst nach beendigung der
>ISR   berarbeitet

Das hängt ganz von der Architektur ab.
MCs mit Interruptprioritäten (der  8051 ist so einer, der AVR aber
nicht) erlauben das Unterbrechen eines niederen durch einen mit höherer
Priorität.

Ordentliche MCs haben für jede Interruptquelle ein Interruptflag,
welches den Einsprung in die Interruptroutine veranlaßt, sobald
freigegeben.

Man kann aber auch auf dieses Flag pollen (zyklisch testen, ob gesetzt)
und es dann manuell zurücksetzen.


Peter
Gast #206122
wenn du mit "sei" die Interrupts global wieder aktivierst oder mit
"reti" aus dem Interrupt zurückkehrst, dann sind die Interrupts
wieder eingeschaltet und wenn nötig wird der nächste Interrupt
abgearbeitet.

Antwort schreiben

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