esp8266/include/irq_arch.h¶
Implementation of the kernels irq interface.
-
irq_isr_enter
()¶ Macros that have to be used on entry into and reset from an ISR.
1 2
int _irq_state = irq_disable (); \ irq_interrupt_nesting++;
NOTE: since they use a local variable they can be used only in same functionMacro that has to be used at the entry point of an ISR
-
irq_isr_exit
()¶ Macro that has to be used at the exit point of an ISR.
1 2 3 4 5
if (irq_interrupt_nesting) \ irq_interrupt_nesting--; \ irq_restore (_irq_state); \ if (sched_context_switch_request) \ thread_yield();
-
critical_enter
()¶ Macros to enter and exit from critical region.
1
int _irq_state = irq_disable ()
NOTE: since they use a local variable they can be used only in same function
-
critical_exit
()¶ 1
irq_restore(_irq_state)
-
uint32_t
irq_interrupt_nesting
¶ Indicates the interrupt nesting depth.
The variable is increment on entry into and decremented on exit from an ISR.