dsPIC33CK512MP308 interrupt vectors
Reset at 0x000000 (a GOTO to the program), then the interrupt vector table from 0x000004: first the 6 traps (non-maskable faults: oscillator failure, address error, stack error, math error…), then the 154 interrupt sources. Each vector is one program word holding its handler's address, so vector n is at 0x000004 + 2n, and IRQ n is vector n + 8. Each source has a flag in IFSx, an enable bit in IECx and a priority from 1 to 7 in IPCx (the Registers page lists them). In XC16 a handler is named after its vector: void __attribute__((interrupt, auto_psv)) _T1Interrupt(void).
| Vector | IRQ · address | Name | Handler | Source |
|---|---|---|---|---|
| – | 0x000000 | RESET | reset: main() after start-up | Reset |
| 0 | trap · 0x000004 | OscillatorFail | _OscillatorFail | Oscillator Fail Trap vector |
| 1 | trap · 0x000006 | AddressError | _AddressError | Address error Trap vector |
| 2 | trap · 0x000008 | HardTrapError | _HardTrapError | Generic Hard Trap vector |
| 3 | trap · 0x00000A | StackError | _StackError | Stack Error Trap Vector |
| 4 | trap · 0x00000C | MathError | _MathError | Math Error Trap vector |
| 6 | trap · 0x000010 | SoftTrapError | _SoftTrapError | Generic Soft Trap vector |
| 8 | IRQ 0 · 0x000014 | INT0Interrupt | _INT0Interrupt | External Interrupt 0 |
| 9 | IRQ 1 · 0x000016 | T1Interrupt | _T1Interrupt | Timer 1 |
| 10 | IRQ 2 · 0x000018 | CNAInterrupt | _CNAInterrupt | Change Notification A |
| 11 | IRQ 3 · 0x00001A | CNBInterrupt | _CNBInterrupt | Change Notification B |
| 12 | IRQ 4 · 0x00001C | DMA0Interrupt | _DMA0Interrupt | DMA Channel 0 |
| 14 | IRQ 6 · 0x000020 | CCP1Interrupt | _CCP1Interrupt | CCP1 Capture/Compare Event |
| 15 | IRQ 7 · 0x000022 | CCT1Interrupt | _CCT1Interrupt | CCP1 Timer Event |
| 16 | IRQ 8 · 0x000024 | DMA1Interrupt | _DMA1Interrupt | DMA Channel 1 |
| 17 | IRQ 9 · 0x000026 | SPI1RXInterrupt | _SPI1RXInterrupt | SPI1 RX |
| 18 | IRQ 10 · 0x000028 | SPI1TXInterrupt | _SPI1TXInterrupt | SPI1 TX |
| 19 | IRQ 11 · 0x00002A | U1RXInterrupt | _U1RXInterrupt | UART1 RX |
| 20 | IRQ 12 · 0x00002C | U1TXInterrupt | _U1TXInterrupt | UART1 TX |
| 21 | IRQ 13 · 0x00002E | ECCSBEInterrupt | _ECCSBEInterrupt | ECC Single Bit Error |
| 22 | IRQ 14 · 0x000030 | NVMInterrupt | _NVMInterrupt | NVM Write complete |
| 23 | IRQ 15 · 0x000032 | INT1Interrupt | _INT1Interrupt | External Interrupt 1 |
| 24 | IRQ 16 · 0x000034 | SI2C1Interrupt | _SI2C1Interrupt | I2C1 Slave Event |
| 25 | IRQ 17 · 0x000036 | MI2C1Interrupt | _MI2C1Interrupt | I2C1 Master Event |
| 26 | IRQ 18 · 0x000038 | DMA2Interrupt | _DMA2Interrupt | DMA Channel 2 |
| 27 | IRQ 19 · 0x00003A | CNCInterrupt | _CNCInterrupt | Change Notification C |
| 28 | IRQ 20 · 0x00003C | INT2Interrupt | _INT2Interrupt | External Interrupt 2 |
| 29 | IRQ 21 · 0x00003E | DMA3Interrupt | _DMA3Interrupt | DMA Channel 3 |
| 30 | IRQ 22 · 0x000040 | DMA4Interrupt | _DMA4Interrupt | DMA Channel 4 |
| 31 | IRQ 23 · 0x000042 | CCP2Interrupt | _CCP2Interrupt | CCP2 Capture/Compare Event |
| 32 | IRQ 24 · 0x000044 | CCT2Interrupt | _CCT2Interrupt | CCP2 Timer Event |
| 34 | IRQ 26 · 0x000048 | INT3Interrupt | _INT3Interrupt | External Interrupt 3 |
| 35 | IRQ 27 · 0x00004A | U2RXInterrupt | _U2RXInterrupt | UART2 RX |
| 36 | IRQ 28 · 0x00004C | U2TXInterrupt | _U2TXInterrupt | UART2 TX |
| 37 | IRQ 29 · 0x00004E | SPI2RXInterrupt | _SPI2RXInterrupt | SPI2 RX |
| 38 | IRQ 30 · 0x000050 | SPI2TXInterrupt | _SPI2TXInterrupt | SPI2 TX |
| 42 | IRQ 34 · 0x000058 | DMA5Interrupt | _DMA5Interrupt | DMA Channel 5 |
| 43 | IRQ 35 · 0x00005A | CCP3Interrupt | _CCP3Interrupt | CCP3 Capture/Compare Event |
| 44 | IRQ 36 · 0x00005C | CCT3Interrupt | _CCT3Interrupt | CCP3 Timer Event |
| 45 | IRQ 37 · 0x00005E | SI2C2Interrupt | _SI2C2Interrupt | I2C2 Slave Event |
| 46 | IRQ 38 · 0x000060 | MI2C2Interrupt | _MI2C2Interrupt | I2C2 Master Event |
| 48 | IRQ 40 · 0x000064 | CCP4Interrupt | _CCP4Interrupt | CCP4 Capture/Compare Event |
| 49 | IRQ 41 · 0x000066 | CCT4Interrupt | _CCT4Interrupt | CCP4 Timer Event |
| 51 | IRQ 43 · 0x00006A | CCP5Interrupt | _CCP5Interrupt | CCP5 Capture/Compare Event |
| 52 | IRQ 44 · 0x00006C | CCT5Interrupt | _CCT5Interrupt | CCP5 Timer Event |
| 53 | IRQ 45 · 0x00006E | DMTInterrupt | _DMTInterrupt | Dead Man Timer |
| 54 | IRQ 46 · 0x000070 | CCP6Interrupt | _CCP6Interrupt | CCP6 Capture/Compare Event |
| 55 | IRQ 47 · 0x000072 | CCT6Interrupt | _CCT6Interrupt | CCP6 Timer Event |
| 56 | IRQ 48 · 0x000074 | QEI1Interrupt | _QEI1Interrupt | Position Counter Compare |
| 57 | IRQ 49 · 0x000076 | U1EInterrupt | _U1EInterrupt | UART1 Error |
| 58 | IRQ 50 · 0x000078 | U2EInterrupt | _U2EInterrupt | UART2 Error |
| 59 | IRQ 51 · 0x00007A | CRCInterrupt | _CRCInterrupt | CRC Generator |
| 62 | IRQ 54 · 0x000080 | QEI2Interrupt | _QEI2Interrupt | Position Counter Compare |
| 64 | IRQ 56 · 0x000084 | U3EInterrupt | _U3EInterrupt | UART3 Error |
| 65 | IRQ 57 · 0x000086 | U3RXInterrupt | _U3RXInterrupt | UART3 RX |
| 66 | IRQ 58 · 0x000088 | U3TXInterrupt | _U3TXInterrupt | UART3 TX |
| 67 | IRQ 59 · 0x00008A | SPI3RXInterrupt | _SPI3RXInterrupt | SPI1 RX |
| 68 | IRQ 60 · 0x00008C | SPI3TXInterrupt | _SPI3TXInterrupt | SPI1 TX |
| 69 | IRQ 61 · 0x00008E | ICDInterrupt | _ICDInterrupt | ICD App In |
| 70 | IRQ 62 · 0x000090 | JTAGInterrupt | _JTAGInterrupt | JTAG Programming |
| 71 | IRQ 63 · 0x000092 | PTGSTEPInterrupt | _PTGSTEPInterrupt | PTG Step |
| 72 | IRQ 64 · 0x000094 | I2C1BCInterrupt | _I2C1BCInterrupt | I2C1 Bus Collision |
| 73 | IRQ 65 · 0x000096 | I2C2BCInterrupt | _I2C2BCInterrupt | I2C2 Bus Collision |
| 74 | IRQ 66 · 0x000098 | QEI3Interrupt | _QEI3Interrupt | Position Counter Compare |
| 75 | IRQ 67 · 0x00009A | PWM1Interrupt | _PWM1Interrupt | PWM Generator 1 |
| 76 | IRQ 68 · 0x00009C | PWM2Interrupt | _PWM2Interrupt | PWM Generator 2 |
| 77 | IRQ 69 · 0x00009E | PWM3Interrupt | _PWM3Interrupt | PWM Generator 3 |
| 78 | IRQ 70 · 0x0000A0 | PWM4Interrupt | _PWM4Interrupt | PWM Generator 4 |
| 79 | IRQ 71 · 0x0000A2 | PWM5Interrupt | _PWM5Interrupt | PWM Generator 5 |
| 80 | IRQ 72 · 0x0000A4 | PWM6Interrupt | _PWM6Interrupt | PWM Generator 6 |
| 81 | IRQ 73 · 0x0000A6 | PWM7Interrupt | _PWM7Interrupt | PWM Generator 7 |
| 82 | IRQ 74 · 0x0000A8 | PWM8Interrupt | _PWM8Interrupt | PWM Generator 8 |
| 83 | IRQ 75 · 0x0000AA | CNDInterrupt | _CNDInterrupt | Change Notification D |
| 84 | IRQ 76 · 0x0000AC | CNEInterrupt | _CNEInterrupt | Change Notification E |
| 85 | IRQ 77 · 0x0000AE | CMP1Interrupt | _CMP1Interrupt | Comparator 1 |
| 86 | IRQ 78 · 0x0000B0 | CMP2Interrupt | _CMP2Interrupt | Comparator 2 |
| 87 | IRQ 79 · 0x0000B2 | CMP3Interrupt | _CMP3Interrupt | Comparator 3 |
| 88 | IRQ 80 · 0x0000B4 | CMP4Interrupt | _CMP4Interrupt | Comparator 4 |
| 89 | IRQ 81 · 0x0000B6 | PTGWDTInterrupt | _PTGWDTInterrupt | PTG Watchdog Time Out |
| 90 | IRQ 82 · 0x0000B8 | PTG0Interrupt | _PTG0Interrupt | PTG Trigger 0 |
| 91 | IRQ 83 · 0x0000BA | PTG1Interrupt | _PTG1Interrupt | PTG Trigger 1 |
| 92 | IRQ 84 · 0x0000BC | PTG2Interrupt | _PTG2Interrupt | PTG Trigger 2 |
| 93 | IRQ 85 · 0x0000BE | PTG3Interrupt | _PTG3Interrupt | PTG Trigger 3 |
| 94 | IRQ 86 · 0x0000C0 | SENT1Interrupt | _SENT1Interrupt | SENT1 TX/RX |
| 95 | IRQ 87 · 0x0000C2 | SENT1EInterrupt | _SENT1EInterrupt | SENT1 Error |
| 96 | IRQ 88 · 0x0000C4 | SENT2Interrupt | _SENT2Interrupt | SENT2 TX/RX |
| 97 | IRQ 89 · 0x0000C6 | SENT2EInterrupt | _SENT2EInterrupt | SENT2 Error |
| 98 | IRQ 90 · 0x0000C8 | ADCInterrupt | _ADCInterrupt | ADC Global Interrupt |
| 99 | IRQ 91 · 0x0000CA | ADCAN0Interrupt | _ADCAN0Interrupt | ADC AN0 Convert Done |
| 100 | IRQ 92 · 0x0000CC | ADCAN1Interrupt | _ADCAN1Interrupt | ADC AN1 Convert Done |
| 101 | IRQ 93 · 0x0000CE | ADCAN2Interrupt | _ADCAN2Interrupt | ADC AN2 Convert Done |
| 102 | IRQ 94 · 0x0000D0 | ADCAN3Interrupt | _ADCAN3Interrupt | ADC AN3 Convert Done |
| 103 | IRQ 95 · 0x0000D2 | ADCAN4Interrupt | _ADCAN4Interrupt | ADC AN4 Convert Done |
| 104 | IRQ 96 · 0x0000D4 | ADCAN5Interrupt | _ADCAN5Interrupt | ADC AN5 Convert Done |
| 105 | IRQ 97 · 0x0000D6 | ADCAN6Interrupt | _ADCAN6Interrupt | ADC AN6 Convert Done |
| 106 | IRQ 98 · 0x0000D8 | ADCAN7Interrupt | _ADCAN7Interrupt | ADC AN7 Convert Done |
| 107 | IRQ 99 · 0x0000DA | ADCAN8Interrupt | _ADCAN8Interrupt | ADC AN8 Convert Done |
| 108 | IRQ 100 · 0x0000DC | ADCAN9Interrupt | _ADCAN9Interrupt | ADC AN9 Convert Done |
| 109 | IRQ 101 · 0x0000DE | ADCAN10Interrupt | _ADCAN10Interrupt | ADC AN10 Convert Done |
| 110 | IRQ 102 · 0x0000E0 | ADCAN11Interrupt | _ADCAN11Interrupt | ADC AN11 Convert Done |
| 111 | IRQ 103 · 0x0000E2 | ADCAN12Interrupt | _ADCAN12Interrupt | ADC AN12 Convert Done |
| 112 | IRQ 104 · 0x0000E4 | ADCAN13Interrupt | _ADCAN13Interrupt | ADC AN13 Convert Done |
| 113 | IRQ 105 · 0x0000E6 | ADCAN14Interrupt | _ADCAN14Interrupt | ADC AN14 Convert Done |
| 114 | IRQ 106 · 0x0000E8 | ADCAN15Interrupt | _ADCAN15Interrupt | ADC AN15 Convert Done |
| 115 | IRQ 107 · 0x0000EA | ADCAN16Interrupt | _ADCAN16Interrupt | ADC AN16 Convert Done |
| 116 | IRQ 108 · 0x0000EC | ADCAN17Interrupt | _ADCAN17Interrupt | ADC AN17 Convert Done |
| 117 | IRQ 109 · 0x0000EE | ADCAN18Interrupt | _ADCAN18Interrupt | ADC AN18 Convert Done |
| 118 | IRQ 110 · 0x0000F0 | ADCAN19Interrupt | _ADCAN19Interrupt | ADC AN19 Convert Done |
| 119 | IRQ 111 · 0x0000F2 | ADCAN20Interrupt | _ADCAN20Interrupt | ADC AN20 Convert Done |
| 120 | IRQ 112 · 0x0000F4 | ADCAN21Interrupt | _ADCAN21Interrupt | ADC AN21 Convert Done |
| 121 | IRQ 113 · 0x0000F6 | ADCAN22Interrupt | _ADCAN22Interrupt | ADC AN22 Convert Done |
| 122 | IRQ 114 · 0x0000F8 | ADCAN23Interrupt | _ADCAN23Interrupt | ADC AN23 Convert Done |
| 123 | IRQ 115 · 0x0000FA | ADFLTInterrupt | _ADFLTInterrupt | ADC Fault |
| 124 | IRQ 116 · 0x0000FC | ADCMP0Interrupt | _ADCMP0Interrupt | ADC Digital Comparator 0 |
| 125 | IRQ 117 · 0x0000FE | ADCMP1Interrupt | _ADCMP1Interrupt | ADC Digital Comparator 1 |
| 126 | IRQ 118 · 0x000100 | ADCMP2Interrupt | _ADCMP2Interrupt | ADC Digital Comparator 2 |
| 127 | IRQ 119 · 0x000102 | ADCMP3Interrupt | _ADCMP3Interrupt | ADC Digital Comparator 3 |
| 128 | IRQ 120 · 0x000104 | ADFLTR0Interrupt | _ADFLTR0Interrupt | ADC Oversample Filter 0 |
| 129 | IRQ 121 · 0x000106 | ADFLTR1Interrupt | _ADFLTR1Interrupt | ADC Oversample Filter 1 |
| 130 | IRQ 122 · 0x000108 | ADFLTR2Interrupt | _ADFLTR2Interrupt | ADC Oversample Filter 2 |
| 131 | IRQ 123 · 0x00010A | ADFLTR3Interrupt | _ADFLTR3Interrupt | ADC Oversample Filter 3 |
| 132 | IRQ 124 · 0x00010C | CLC1PInterrupt | _CLC1PInterrupt | CLC1 Positive Edge Event |
| 133 | IRQ 125 · 0x00010E | CLC2PInterrupt | _CLC2PInterrupt | CLC2 Positive Edge Event |
| 134 | IRQ 126 · 0x000110 | SPI1Interrupt | _SPI1Interrupt | SPI1 General Interrupt |
| 135 | IRQ 127 · 0x000112 | SPI2Interrupt | _SPI2Interrupt | SPI2 General Interrupt |
| 136 | IRQ 128 · 0x000114 | SPI3Interrupt | _SPI3Interrupt | SPI3 General Interrupt |
| 150 | IRQ 142 · 0x000130 | SI2C3Interrupt | _SI2C3Interrupt | I2C3 Slave Events |
| 151 | IRQ 143 · 0x000132 | MI2C3Interrupt | _MI2C3Interrupt | I2C3 Master Events |
| 152 | IRQ 144 · 0x000134 | I2C3BCInterrupt | _I2C3BCInterrupt | I2C3 Bus Collision |
| 153 | IRQ 145 · 0x000136 | ADCAN27Interrupt | _ADCAN27Interrupt | ADC AN27 Convert Done |
| 157 | IRQ 149 · 0x00013E | CCP7Interrupt | _CCP7Interrupt | CCP7 Capture/Compare Event |
| 158 | IRQ 150 · 0x000140 | CCT7Interrupt | _CCT7Interrupt | CCP7 Timer Event |
| 159 | IRQ 151 · 0x000142 | ADCAN26Interrupt | _ADCAN26Interrupt | ADC AN26 Convert Done |
| 160 | IRQ 152 · 0x000144 | CCP8Interrupt | _CCP8Interrupt | CCP8 Capture/Compare Event |
| 161 | IRQ 153 · 0x000146 | CCT8Interrupt | _CCT8Interrupt | CCP8 Timer Event |
| 162 | IRQ 154 · 0x000148 | DMA6Interrupt | _DMA6Interrupt | DMA Channel 6 |
| 163 | IRQ 155 · 0x00014A | DMA7Interrupt | _DMA7Interrupt | DMA Channel 7 |
| 176 | IRQ 168 · 0x000164 | ADCFIFOInterrupt | _ADCFIFOInterrupt | ADC FIFO Ready |
| 177 | IRQ 169 · 0x000166 | PEVTAInterrupt | _PEVTAInterrupt | PWM EVENT A |
| 178 | IRQ 170 · 0x000168 | PEVTBInterrupt | _PEVTBInterrupt | PWM EVENT B |
| 179 | IRQ 171 · 0x00016A | PEVTCInterrupt | _PEVTCInterrupt | PWM EVENT C |
| 180 | IRQ 172 · 0x00016C | PEVTDInterrupt | _PEVTDInterrupt | PWM EVENT D |
| 181 | IRQ 173 · 0x00016E | PEVTEInterrupt | _PEVTEInterrupt | PWM EVENT E |
| 182 | IRQ 174 · 0x000170 | PEVTFInterrupt | _PEVTFInterrupt | PWM EVENT F |
| 183 | IRQ 175 · 0x000172 | CLC3PInterrupt | _CLC3PInterrupt | CLC3 Positive Edge Event |
| 184 | IRQ 176 · 0x000174 | CLC4PInterrupt | _CLC4PInterrupt | CLC4 Positive Edge Event |
| 185 | IRQ 177 · 0x000176 | CLC1NInterrupt | _CLC1NInterrupt | CLC1 Negative Edge Event |
| 186 | IRQ 178 · 0x000178 | CLC2NInterrupt | _CLC2NInterrupt | CLC2 Negative Edge Event |
| 187 | IRQ 179 · 0x00017A | CLC3NInterrupt | _CLC3NInterrupt | CLC3 Negative Edge Event |
| 188 | IRQ 180 · 0x00017C | CLC4NInterrupt | _CLC4NInterrupt | CLC4 Negative Edge Event |
| 189 | IRQ 181 · 0x00017E | CCP9Interrupt | _CCP9Interrupt | CCP9 Capture/Compare Event |
| 190 | IRQ 182 · 0x000180 | CCT9Interrupt | _CCT9Interrupt | CCP9 Timer Event |
| 195 | IRQ 187 · 0x00018A | CMP5Interrupt | _CMP5Interrupt | Comparator 5 |
| 196 | IRQ 188 · 0x00018C | CMP6Interrupt | _CMP6Interrupt | Comparator 6 |
| 197 | IRQ 189 · 0x00018E | U1EVTInterrupt | _U1EVTInterrupt | UART1 Event |
| 198 | IRQ 190 · 0x000190 | U2EVTInterrupt | _U2EVTInterrupt | UART2 Event |
| 199 | IRQ 191 · 0x000192 | U3EVTInterrupt | _U3EVTInterrupt | UART3 Event |
| 200 | IRQ 192 · 0x000194 | ADCAN24Interrupt | _ADCAN24Interrupt | ADC AN24 Convert Done |
| 201 | IRQ 193 · 0x000196 | ADCAN25Interrupt | _ADCAN25Interrupt | ADC AN25 Convert Done |
| 202 | IRQ 194 · 0x000198 | PMPInterrupt | _PMPInterrupt | PMP Event |
| 203 | IRQ 195 · 0x00019A | PMPEInterrupt | _PMPEInterrupt | PMP Error |