Static stm32f412g::exti::EXTI_EVENTS
source · pub static mut EXTI_EVENTS: u32
Expand description
EXTI block has 23 lines going into NVIC. This arrangement is described here 1.
The 23 lines going into NVIC, are mapped to the following NVIC IRQs. Note there is no one-to-one mapping between the 23 lines to NVIC IRQs. The 23 lines going into NVIC translates to 14 IRQs on NVIC.
-
EXTI0
(6) -
EXTI1
(7) -
EXTI2
(8) -
EXTI3
(9) -
EXTI4
(10) -
EXTI9_5
(23) -
EXTI15_10
(40) -
EXTI16
->PVD
(1) -
EXTI17
->RTC_Alarm
(41) -
EXTI18
->OTG_FS_WKUP
(42) -
EXTI19
-><UNKNOWN>
-
EXTI20
->OTG_FS
(67) -
EXTI21
->TAMP_STAMP
(2) -
EXTI22
->RTC_WKUP
(3)
The EXTI_PR (pending) register when set, generates a level-triggered interrupt on the NVIC. This means, that its the responsibility of the IRQ handler to clear the interrupt source (pending bit), in order to prevent multiple interrupts from occurring.
EXTI_EVENTS
is modeled to capture information from EXTI_PR
register. In
the top half IRQ handler, prior to clearing the pending bit, we set the
corresponding bit in EXTI_EVENTS
. Once the bit is set, in EXTI_EVENTS
,
we clear the pending bit and exit the ISR.
Section 10.2.2, EXTI block diagram, page 243 of reference manual. ↩