8.2 Interrupt Vector Mapping

Each of the interrupt vectors is connected to one peripheral instance, as shown in the table below. A peripheral can have one or more interrupt sources, see the Interrupt section in the Functional description of the respective peripheral for more details on the available interrupt sources.

When the interrupt condition occurs, an Interrupt Flag (nameIF) is set in the Interrupt Flags register of the peripheral (peripheral.INTFLAGS).

An interrupt is enabled or disabled by writing to the corresponding Interrupt Enable bit (nameIE) in the peripheral's Interrupt Control register (peripheral.INTCTRL).

The naming of the registers may vary slightly in some peripherals.

An interrupt request is generated when the corresponding interrupt is enabled and the interrupt flag is set. The interrupt request remains active until the interrupt flag is cleared. See the peripheral's INTFLAGS register for details on how to clear interrupt flags.

Interrupts must be enabled globally for interrupt requests to be generated.

Table 8-2. Interrupt Vector Mapping
Vector NumberBase AddressPeripheral Source
00x00RESET
10x02NMI - Non-Maskable Interrupt from CRC
20x04VLM - Voltage Level Monitor
30x06PORTA - Port A
40x08PORTB - Port B
50x0APORTC - Port C
60x0CRTC - Real-Time Counter
70x0EPIT - Periodic Interrupt Timer (in RTC peripheral)
80x10TCA0 - Timer Counter Type A
130x1ATCB0 - Timer Counter Type B
140x1CTCB1 - Timer Counter Type B
150x1ETCD0 - Timer Counter Type D
170x22AC0 – Analog Comparator
180x24AC1 – Analog Comparator
190x26AC2 – Analog Comparator
200x28ADC0 – Analog-to-Digital Converter/PTC
220x2CADC1 – Analog-to-Digital Converter
240x30TWI0 - Two-Wire Interface/I2C
260x34SPI0 - Serial Peripheral Interface
270x36USART0 - Universal Asynchronous Receiver-Transmitter
300x3CNVM - Nonvolatile Memory