esp32/include/irq_arch.h¶
Implementation of the kernels irq interface.
-
CPU_INUM_GPIO
¶ fixed allocated CPU interrupt numbers that are used by RIOT
1
2 /* level interrupt, low priority = 1 */
-
CPU_INUM_CAN
¶ 1
3 /* level interrupt, low priority = 1 */
-
CPU_INUM_UART
¶ 1
5 /* level interrupt, low priority = 1 */
-
CPU_INUM_RTC
¶ 1
9 /* level interrupt, low priority = 1 */
-
CPU_INUM_I2C
¶ 1
12 /* level interrupt, low priority = 1 */
-
CPU_INUM_WDT
¶ 1
13 /* level interrupt, low priority = 1 */
-
CPU_INUM_SOFTWARE
¶ 1
17 /* level interrupt, low priority = 1 */
-
CPU_INUM_ETH
¶ 1
18 /* level interrupt, low priority = 1 */
-
CPU_INUM_TIMER
¶ 1
19 /* level interrupt, medium priority = 2 */
-
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)
-
critical_enter_var
( m)¶ Macros to enter and exit from critical region with state variable.
1
m = irq_disable ()
-
critical_exit_var
( m)¶ 1
irq_restore(m)
-
uint32_t
irq_interrupt_nesting
¶ Indicates the interrupt nesting depth.
The variable is increment on entry into and decremented on exit from an ISR.