11 years ago.

Can ISR be interrupted by another interrutpion?

Hi, I couldn´t find whether the ISR can be interrupted by another interruption which occures while the ISR is running. Thanks

Question relating to:

FYI the correct term is "interrupt", not "interruption".

posted by Igor Skochinsky 27 Mar 2013

3 Answers

11 years ago.

It can if the other interruption has higher priority, but by default all interrupts are set at maximum priority, so then it doesnt happen.

Accepted Answer
11 years ago.

Hi!

See here http://mbed.org/users/AjK/notebook/regarding-interrupts-use-and-blocking/ for a good description from Andy Kirkham.

Charly

11 years ago.

Interrupts do not interrupt each other. The priority determines which interrupt handler get called first if more than one event happen at the same time or which event to service next if multiple interrupt events occur while in IRQ context.

Once the first event handler completes - the CPU stays in IRQ context and calls the next interrupt handler (a feature of the Cortex M3). Take a quick look at this pdf for more info.

http://www.energymicro.com/images/stories/technlogy/arm_introtocortex-m3.pdf

Sorry but you're wrong. In fact, a higher-priority interrupt can preempt ("interrupt") the lower-priority one during its execution. See here. Interrupt chaining is a different feature.

posted by Igor Skochinsky 27 Mar 2013

I learned something new today - thanks Igor!

posted by Sam Grove 27 Mar 2013