12.2.2 Interrupt Line Mapping
Each of the 28 interrupt lines is connected to one peripheral instance, as shown in the table below. Each peripheral can have one or more interrupt flags, located in the peripheral’s Interrupt Flag Status and Clear (INTFLAG) register.
An interrupt flag is set when the interrupt condition occurs. Each interrupt in the peripheral can be individually enabled by writing a 1 to the corresponding bit in the peripheral’s Interrupt Enable Set (INTENSET) register, and disabled by writing 1 to the corresponding bit in the peripheral’s Interrupt Enable Clear (INTENCLR) register.
An interrupt request is generated from the peripheral when the interrupt flag is set and the corresponding interrupt is enabled.
The interrupt requests for one peripheral are ORed together on system level, generating one interrupt request for each peripheral. An interrupt request will set the corresponding interrupt pending bit in the NVIC interrupt pending registers (SETPEND/CLRPEND bits in ISPR/ICPR).
For the NVIC to activate the interrupt, it must be enabled in the NVIC interrupt enable register (SETENA/CLRENA bits in ISER/ICER). The NVIC interrupt priority registers IPR0-IPR7 provide a priority field for each interrupt.
Peripheral source | NVIC line |
---|---|
EIC NMI – External Interrupt Controller | NMI |
PM – Power Manager MCLK - Main Clock OSCCTRL - Oscillators Controller OSC32KCTRL - 32KHz Oscillators Controller SUPC - Supply Controller PAC - Protecion Access Controller | 0 |
WDT – Watchdog Timer | 1 |
RTC – Real Time Counter | 2 |
EIC – External Interrupt Controller | 3 |
NVMCTRL – Non-Volatile Memory Controller | 4 |
DMAC - Direct Memory Access Controller | 5 |
USB - Universal Serial Bus | 6 |
EVSYS – Event System | 7 |
SERCOM0 – Serial Communication Interface 0 | 8 |
SERCOM1 – Serial Communication Interface 1 | 9 |
SERCOM2 – Serial Communication Interface 2 | 10 |
SERCOM3 – Serial Communication Interface 3 | 11 |
SERCOM4 – Serial Communication Interface 4 | 12 |
SERCOM5 – Serial Communication Interface 5 | 13 |
TCC0 – Timer Counter for Control 0 | 14 |
TCC1 – Timer Counter for Control 1 | 15 |
TCC2 – Timer Counter for Control 2 | 16 |
TC0 – Timer Counter 0 | 17 |
TC1 – Timer Counter 1 | 18 |
TC2 – Timer Counter 2 | 19 |
TC3 – Timer Counter 3 | 20 |
TC4 – Timer Counter 4 | 21 |
ADC – Analog-to-Digital Converter | 22 |
AC – Analog Comparator | 23 |
DAC – Digital-to-Analog Converter | 24 |
PTC – Peripheral Touch Controller | 25 |
AES - Advanced Encrytpion Standard module | 26 |
TRNG - True Random Number Generator | 27 |