![Silicon Laboratories EFR32xG14 Wireless Gecko Reference Manual Download Page 1090](http://html1.mh-extra.com/html/silicon-laboratories/efr32xg14-wireless-gecko/efr32xg14-wireless-gecko_reference-manual_12717281090.webp)
32.3.5.1 Edge Interrupt Generation
The GPIO can generate an interrupt from any edge of the input of any GPIO pin on the device. The edge interrupts have asynchronous
sense capability, enabling wake-up from energy modes as low as EM3 Stop, see
Figure 32.6 Pin N Interrupt Generation on page 1090
.
IRQ_GPIO_EVEN/
IRQ_GPIO_ODD
PA[p+3:p]
EXTIRISE[n]
IEN[n]
EXTIPSEL[n]
PB[p+3:p]
PC[p+3:p]
PD[p+3:p]
PE[p+3:p]
IF[n]
set
clear
IFS[n]
IFC[n]
wakeup
PF[p+3:p]
EXTIFALL[n]
PRS
Odd/even inputs
Synch
EXTIPINSEL[n]
4
PG[p+3:p]
PH[p+3:p]
PI[p+3:p]
PJ[p+3:p]
PK[p+3:p]
PL[p+3:p]
p = 4 * int( n / 4 )
Figure 32.6. Pin N Interrupt Generation
External pin interrupts can be represented in the form of EXTI[index], where index is the external interrupt number. For example, the
EXTI7 interrupt has an index of 7. All pins within a group of four (0-3,4-7,8-11,12-15) from all ports are grouped together to trigger one
interrupt. The group of pins available to trigger an interrupt is determined by the interrupt index and calculated as int(index/4). For ex-
ample the first 4 interrupts (EXTI0 - EXTI3) are triggered by pins in the first group (Px[3:0]) and the second 4 interrupts (EXTI4-EXTI7)
are triggered by pins in the second group (Px[7:4]).
The EXTIPSELn bits in GPIO_EXTIPSELL or GPIO_EXTIPSELH select which PORT in the group will trigger the interrupt. The EXTI-
PINSELn bits in GPIO_EXTIPINSELL or GPIO_EXTIPINSELH will determine which pin inside the selected group will trigger the inter-
rupt.
For example if EXTIPSEL11 = PORTB and EXTPINSEL11 = 0 then PB8 will be used for EXTI11. EXTI11 uses the third group (11/4 = 2)
so the list of possible pins is Px[11:8]. The setting of EXTIPSEL11 further narrows the selection to PB[11:8]. Finally EXTPINSEL11 se-
lects the first pin in that group which is PB8.
The GPIO_EXTIRISE[n] and GPIO_EXTIFALL[n] registers enable sensing of rising and falling edges. By setting the EXT[n] bit in
GPIO_IEN, a high interrupt flag n, will trigger one of two interrupt lines. The even interrupt line is triggered by any enabled even num-
bered interrupt flag index, while the odd interrupt line is triggered by odd flag indexes. The interrupt flags can be set and cleared by
software when writing the GPIO_IFS and GPIO_IFC registers. Since the external interrupts are asynchronous, they are sensitive to
noise. To increase noise tolerance, the MODEL and MODEH fields in the GPIO_Px_MODEL and GPIO_Px_MODEH registers, respec-
tively, should be set to include glitch filtering for pins that have external interrupts enabled.
Reference Manual
GPIO - General Purpose Input/Output
silabs.com
| Building a more connected world.
Rev. 1.1 | 1090