11.4.2 Natural Order (Hardware) Priority

When vectored interrupts are enabled and more than one interrupt with the same user specified priority level is requested, the priority conflict is resolved by using a method called “Natural Order Priority”. Natural order priority is a fixed priority scheme that is based on the IVT.

Table 11-2. Interrupt Vector Priority Table
Vector

Number

Interrupt

source

Vector

Number

(cont.)

Interrupt

source

(cont.)

0x0Software Interrupt0x2EPWM2RINT
0x1HLVD (High/Low-Voltage Detect)0x2FPWM2GINT
0x2OSF (Oscillator Fail)0x30INT1
0x3CSW (Clock Switching)0x31CLC7
0x4NVM0x32CWG1 (Complementary Waveform Generator)
0x5CLC1 (Configurable Logic Cell)0x33NCO1 (Numerically Controlled Oscillator)
0x6CRC (Cyclic Redundancy Check)0x34DMA2SCNT
0x7IOC (Interrupt-On-Change)0x35DMA2DCNT
0x8INT00x36DMA2OR
0x9ADTIE (ADC Threshold Interrupt)0x37DMA2A
0xAAD (ADC Conversion Complete)0x38I2C1RX
0xBACT (Active Clock Tuning)0x39I2C1TX
0xCI2C2RX0x3AI2C1
0xDI2C2TX0x3BI2C1E
0xEI2C20x3C-
0xFI2C2E0x3DCLC3
0x10ZCD2 (Zero-Cross Detection)0x3EPWM3RINT
0x11CLC50x3FPWM3GINT
0x12IOCSR (Interrupt-On-Change Signal Routing Ports)0x40U2RX
0x13ZCD1 (Zero-Cross Detection)0x41U2TX
0x14DMA1SCNT (Direct Memory Access)0x42U2E
0x15DMA1DCNT0x43U2
0x16DMA1OR0x44-
0x17DMA1A0x45CLC4
0x18SPI1RX (Serial Peripheral Interface)0x46CCP2 (Capture/Compare/PWM)
0x19SPI1TX0x47SCAN
0x1ASPI10x48CM1 (Comparator)
0x1BTMR20x49 - 0x4B-
0x1CTMR10x4CDMA3SCNT
0x1DTMR1G0x4DDMA3DCNT
0x1ECCP1 (Capture/Compare/PWM)0x4EDMA3OR
0x1FTMR00x4FDMA3A
0x20U1RX0x50INT2
0x21U1TX0x51CLC8
0x22U1E0x52TU16B (Universal Timer 16B)
0x23U10x53TMR4
0x24TMR30x54DMA4SCNT
0x25TMR3G0x55DMA4DCNT
0x26PWM1RINT0x56DMA4OR
0x27PWM1GINT0x57DMA4A
0x28-0x58SPI2RX (Serial Peripheral Interface)
0x29CLC60x59SPI2TX
0x2ATU16A (Universal Timer 16A) 0x5ASPI2
0x2BTMR60x5BVDDIO2LVDIF
0x2CCM2 (Comparator)0x5CVDDIO2RDYIF
0x2DCLC20x5D-

The natural order priority scheme goes from high-to-low with increasing vector numbers, with 0 being the highest priority and decreasing from there.

For example, when two concurrently occurring interrupt sources that are both designated high priority, using the IPRx register will be resolved using the natural order priority (i.e., the interrupt with a lower corresponding vector number will preempt the interrupt with the higher vector number).

The ability for the user to assign every interrupt source to high- or low-priority levels means that the user program can give an interrupt with a low natural priority, a higher overall priority level.