2 Interrupts gleichzeitig?

Gast #2356756
Lesenswert?
• ▲
▼
Hallo.
Sind die Interrupts deaktiviert, wenn das Programm sich gerade in der 
ISR befindet?
Ich habe Timer1, der jede halbe Sek. überläuft und einen Interrupt 
"ISR_von_Timer1" auslöst.
Ausserdem habe ich noch einen Hardware Interrupt "ISR_Int0"

Stören die sich, wenn es mal beides zu gleichen Zeit auftritt, oder sind 
die Interrupts deaktiviert, wenn ich mich in der ISR befinde.

Danke und LG Jens
Gast #2356765
Lesenswert?
• ▲
▼
Den Mikrocontroller, den du hier beschreibst kenne ich ziemlich gut. Der 
besitzt eine IAU ( eine sogenannte Interrupt Acceleration Unit ). Diese 
Einheit besitzt noch einmal einige ALUs und damit kann der µC mehrere 
Interrupt gleichzeitig abarbeiten. Also es werden dann beide 
Programmteile parallel ausgeführt.

Wenn du das nicht möchtest, musst du das IAUE-Bit im SCR-Register auf 0 
setzen. Dann wird die IAE abgeschaltet und der zweite Interrupt wartet, 
bis der erste fertig ist. Allerdings nur, wenn der zweite Interrupt die 
gleiche oder eine niedrigere Priorität besitzt. Sonst ist alles ganz 
anders.

Ich hoffe, ich konnte dir helfen. Wenn du noch Fragen hast, dann einfach 
hier stellen.
#2356766
Lesenswert?
• ▲
▼
Jens schrieb:
> Hallo.
> Sind die Interrupts deaktiviert, wenn das Programm sich gerade in der
> ISR befindet?

ja

> Ich habe Timer1, der jede halbe Sek. überläuft und einen Interrupt
> "ISR_von_Timer1" auslöst.
> Ausserdem habe ich noch einen Hardware Interrupt "ISR_Int0"
>
> Stören die sich, wenn es mal beides zu gleichen Zeit auftritt, oder sind
> die Interrupts deaktiviert, wenn ich mich in der ISR befinde.

die sind deaktiviert.
Aber die Interrupt Anforderung wird registriert und gespeichert. Sobald 
die erste ISR fertig ist, beginnt dann gleich die jeweils andere zu 
laufen. Das Auftreten EINES Interrupts geht also nicht verloren. Er 
beginnt nur etwas zeitversetzt mit seiner ISR.
Gast #2356784
Lesenswert?
• ▲
▼
Jens schrieb:
> Stören die sich, wenn es mal beides zu gleichen Zeit auftritt, oder sind
> die Interrupts deaktiviert, wenn ich mich in der ISR befinde.

Um nicht noch mehr Glaskugeln befragen zu müssen, solltest du spätestens 
jetzt verraten, um welchen Controller es dir dabei geht. Denn die 
verhalten tatsächlich nicht alle gleich ;)

Oliver
#2357094
Lesenswert?
• ▲
▼
Ich darf anmerken, dass es auch noch Prioritätsinterrupts gibt. Ich 
spreche hier mal von PIC Mikrocontrollern. Die haben Low-Priority und 
High-Priority Interrupts. Jede Interruptquelle können sowohl low, als 
auch high-Priority sein. Ein High-Priority-Interrupt hat die Möglichkeit 
die low-Priority-ISR zu verlassen. Ist die High-Priority-IRS 
abgearbeitet geht es in der low-Priority-ISR weiter.
Moderator (Firma: Titel) Persönliche Seite #2357129
Lesenswert?
• ▲
▼
Steffen H. schrieb:
> Wie verhält sich ein AVR (Mega8) wenn mehrere Interrupts während der
> Abarbeitung eines anderen Interrups auftreten? Wieviel INT-Anforderungen
> kann der AVR sich merken? Weiß das jemand?
Er kann sich ALLE merken, aber von jeder Sorte nur einen. Du kannst 
also 100 Pegelwechsel am Pin haben, aber es wird im ungünstigen Fall 
(Interrupts lang genug gesperrt) nur ein einziger Interrupt ausgelöst 
werden.

Er kann sich aber aber einige verschiedene Timerinterrupts (Compare, 
Capture, Overflow...), jeweils die Int-Eingänge, serielle Schnitte(n), 
AD-Wandler, ... alle gleichzeitig merken und bei nächster Gelegenheit 
abarbeiten.

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.