Interrupts and events UM0306
102/519
6.2.3 Wake-up event management
Cortex-M3 is able to handle external events or internal events in order to wake-up the core
(WFE). By configuring the external lines any I/O port, RTC Alarm and USB Wake-up Events
can be used to wake-up the CPU (exit from WFE).
To use an external line as a wake-up event, refer to Section 6.2.4: Functional description.
6.2.4 Functional description
To generate the interrupt, the interrupt line should be configured and enabled. This is done
by programming the two trigger registers with the desired edge detection and by enabling
the interrupt request by writing a ‘1’ to the corresponding bit in the interrupt mask register.
When the selected edge occurs on the external interrupt line, an interrupt request is
generated. The pending bit corresponding to the interrupt line is also set. This request is
reset by writing a ‘1’ in the pending register.
To generate the event, the event line should be configured and enabled. This is done by
programming the two trigger registers with the desired edge detection and by enabling the
event request by writing a ‘1’ to the corresponding bit in the event mask register. When the
selected edge occurs on the event line, an event pulse if generated. The pending bit
corresponding to the event line is not set
An interrupt/event request can also be generated by software by writing a ‘1’ in the software
interrupt/event register.
Hardware interrupt selection
To configure the 19 lines as interrupt sources, use the following procedure:
● Configure the mask bits of the 19 Interrupt lines (EXTI_IMR)
● Configure the Trigger Selection bits of the Interrupt lines (EXTI_RTSR and
EXTI_FTSR)
● Configure the enable and mask bits that control the NVIC IRQ channel mapped to the
External Interrupt Controller (EXTI) so that an interrupt coming from one of the 19 lines
can be correctly acknowledged.
Hardware event selection
To configure the 19 lines as event sources, use the following procedure:
● Configure the mask bits of the 19 Event lines (EXTI_EMR)
● Configure the Trigger Selection bits of the Event lines (EXTI_RTSR and EXTI_FTSR)
Software interrupt/event selection
The 19 lines can be configured as software interrupt/event lines. The following is the
procedure to generate a software interrupt.
● Configure the mask bits of the 19 Interrupt/Event lines (EXTI_IMR, EXTI_EMR)
● Set the required bit of the software interrupt register (EXTI_SWIER)