Forum: Mikrocontroller und Digitale Elektronik Was sind nested IRQs?


von Martin (Gast)


Lesenswert?

Hallo Leute!

Ich habe ein Programmbeispiel für den LPC2148 erhalten.
In der UART-IRQ-Routine steht folgender Code:

IENABLE;  // handles nested interrupt
...
...
IDISABLE;

Zu Beginn der Routine steht IENABLE und am Ende IDISABLE.

Nun meine Frage: Mit diesen Befehlen werden anscheinend "Nested
Interrupts" behandelt. Was sind Nested-IRQs?

Leider gibt mir mein Compiler bei IENABLE und IDISABLE einen Fehler
aus, da diese Angaben anscheindend nicht definiert sind.

Danke Leute.

Gruß, Martin

von johnny.m (Gast)


Lesenswert?

Nested IRQs sind verschachtelte Interrupts. Normalerweise versucht man
(z.T. bereits durch die µC-Hardware), zu verhindern, dass ein Interrupt
einen Handler eines anderen Interrupt unterbrechen kann, da es durch
solche Schachtelungen zu einem Stack Overflow und damit einem
Programmabsturz kommen kann. Manchmal ist es aber erforderlich,
verschachtelte Interrupts zuzulassen, um bestimmte zeitkritische
Aktionen ausführen zu können. Dies muss meist extra freigegeben werden
und sollte mit größter Vorsicht geschehen.

Gruß

Johnny

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.