23.5.5 Interrupts

The interrupt request line, also known as the interrupt vector, is connected to the interrupt controller. To use TCC 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.

Table 23-7. Available Interrupt Vectors and Sources
Vector NameSource NameConditionDependency
TCCnOVFAn overflow condition occurs
TRGA counter retrigger occurs
CNTA counter event occurs
ERRA new capture occurs on a channel when the corresponding Match or Capture Channel x interrupt flag = ‘1’
UFSThe RAMP index changes and the Lock Update bit is set (CTRLBSET.LUPD = ‘1’)
DFSA Debug Fault State occurs
FAULTxA Recoverable Fault x occurs
FAULTnA Non-Recoverable Fault n occurs
MCnA match with the compare condition, or when CCn register contains a valid capture value