30.5.5 Interrupts
The interrupt request line, also known as the interrupt vector, is connected to the interrupt controller. To use SERCOM SPI interrupts, the interrupt controller must be configured in advance, including enabling the interrupt line globally. For further information, refer to the NVIC - Nested Vectored Interrupt Controller section.
Each
interrupt source has an interrupt flag which is in
the Interrupt Flag Status and Clear (INTFLAG)
register. The flag is set when the interrupt
condition occurs. Each interrupt can be
individually enabled by writing a
‘1’ to the corresponding bit in
the Interrupt Enable Set (INTENSET) register, and
disabled by writing a ‘1’ to the
corresponding bit in the Interrupt Enable Clear
(INTENCLR) register.
An interrupt request is generated when the interrupt flag is set and the corresponding interrupt source is enabled. The interrupt request remains active until the interrupt flag is cleared, the interrupt is disabled, or the peripheral is reset. Refer to the INTFLAG register description for details on how to clear interrupt flags.
All interrupt requests from the peripheral are ORed together on system level to generate a single combined interrupt request to the NVIC. Therefore, the INTFLAG register must be read to determine what the interrupt condition is.
| Vector Name | Source Name | Condition | Dependency |
|---|---|---|---|
| SERCOMn | DRE | Data Register Empty | |
| RXC | Receive Complete | ||
| TXC | Transmit Complete | ||
| SSL | SPI Select Low | ||
| ERROR | Error | The Collision Detected, Inconsistent Sync Field, Buffer Overflow, Frame Error, and Parity Error bits in the Status register (STATUS.COLL, STATUS.ISF, STATUS.BUFOVF, STATUS.FERR and STATUS.PERR). |
