dsPIC33EP512GP806 interrupt vectors

Reset at 0x000000 (a GOTO to the program), then the interrupt vector table from 0x000004: first the 7 traps (non-maskable faults: oscillator failure, address error, stack error, math error…), then the 103 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).

VectorIRQ · addressNameHandlerSource
–0x000000RESETreset: main() after start-upReset
0trap · 0x000004OscillatorFail_OscillatorFailOscillator Fail Trap vector
1trap · 0x000006AddressError_AddressErrorAddress error Trap vector
2trap · 0x000008HardTrapError_HardTrapErrorGeneric Hard Trap vector
3trap · 0x00000AStackError_StackErrorStack Error Trap Vector
4trap · 0x00000CMathError_MathErrorMath Error Trap vector
5trap · 0x00000EDMACError_DMACErrorDMAC Error Trap vector
6trap · 0x000010SoftTrapError_SoftTrapErrorGeneric Soft Trap vector
8IRQ 0 · 0x000014INT0Interrupt_INT0InterruptExternal Interrupt 0
9IRQ 1 · 0x000016IC1Interrupt_IC1InterruptInput Compare 1
10IRQ 2 · 0x000018OC1Interrupt_OC1InterruptOutput Compare 1
11IRQ 3 · 0x00001AT1Interrupt_T1InterruptTimer 1
12IRQ 4 · 0x00001CDMA0Interrupt_DMA0InterruptDMA Channel 0
13IRQ 5 · 0x00001EIC2Interrupt_IC2InterruptInput Capture 2
14IRQ 6 · 0x000020OC2Interrupt_OC2InterruptOutput Compare 2
15IRQ 7 · 0x000022T2Interrupt_T2InterruptTimer 2
16IRQ 8 · 0x000024T3Interrupt_T3InterruptTimer 3
17IRQ 9 · 0x000026SPI1ErrInterrupt_SPI1ErrInterruptSPI1 error
18IRQ 10 · 0x000028SPI1Interrupt_SPI1InterruptSPI1 transfer done
19IRQ 11 · 0x00002AU1RXInterrupt_U1RXInterruptUART1 Receiver
20IRQ 12 · 0x00002CU1TXInterrupt_U1TXInterruptUART1 Transmitter
21IRQ 13 · 0x00002EAD1Interrupt_AD1InterruptADC1 Convert Done
22IRQ 14 · 0x000030DMA1Interrupt_DMA1InterruptDMA Channel 1
23IRQ 15 · 0x000032NVMInterrupt_NVMInterruptNVM Interrupt
24IRQ 16 · 0x000034SI2C1Interrupt_SI2C1InterruptI2C1 Slave Events
25IRQ 17 · 0x000036MI2C1Interrupt_MI2C1InterruptI2C1 Master Events
26IRQ 18 · 0x000038CM1Interrupt_CM1InterruptAnalog Comparator Combined Interrupt
27IRQ 19 · 0x00003ACNInterrupt_CNInterruptChange Notification Interrupt
28IRQ 20 · 0x00003CINT1Interrupt_INT1InterruptExternal Interrupt 1
29IRQ 21 · 0x00003EAD2Interrupt_AD2InterruptADC2 Convert Done
30IRQ 22 · 0x000040IC7Interrupt_IC7InterruptInput Compare 7
31IRQ 23 · 0x000042IC8Interrupt_IC8InterruptInput Compare 8
32IRQ 24 · 0x000044DMA2Interrupt_DMA2InterruptDMA Channel 2
33IRQ 25 · 0x000046OC3Interrupt_OC3InterruptOutput Compare 3
34IRQ 26 · 0x000048OC4Interrupt_OC4InterruptOutput Compare 4
35IRQ 27 · 0x00004AT4Interrupt_T4InterruptTimer 4
36IRQ 28 · 0x00004CT5Interrupt_T5InterruptTimer 5
37IRQ 29 · 0x00004EINT2Interrupt_INT2InterruptExternal Interrupt 2
38IRQ 30 · 0x000050U2RXInterrupt_U2RXInterruptUART2 Receiver
39IRQ 31 · 0x000052U2TXInterrupt_U2TXInterruptUART2 Transmitter
40IRQ 32 · 0x000054SPI2ErrInterrupt_SPI2ErrInterruptSPI2 error
41IRQ 33 · 0x000056SPI2Interrupt_SPI2InterruptSPI2 transfer done
42IRQ 34 · 0x000058C1RxRdyInterrupt_C1RxRdyInterruptECAN1 Receive Data Ready
43IRQ 35 · 0x00005AC1Interrupt_C1InterruptECAN1 Event
44IRQ 36 · 0x00005CDMA3Interrupt_DMA3InterruptDMA Channel 3
45IRQ 37 · 0x00005EIC3Interrupt_IC3InterruptInput Capture 3
46IRQ 38 · 0x000060IC4Interrupt_IC4InterruptInput Capture 4
47IRQ 39 · 0x000062IC5Interrupt_IC5InterruptInput Capture 5
48IRQ 40 · 0x000064IC6Interrupt_IC6InterruptInput Capture 6
49IRQ 41 · 0x000066OC5Interrupt_OC5InterruptOutput Compare 5
50IRQ 42 · 0x000068OC6Interrupt_OC6InterruptOutput Compare 6
51IRQ 43 · 0x00006AOC7Interrupt_OC7InterruptOutput Compare 7
52IRQ 44 · 0x00006COC8Interrupt_OC8InterruptOutput Compare 8
53IRQ 45 · 0x00006EPMPInterrupt_PMPInterruptPMP Interrupt
54IRQ 46 · 0x000070DMA4Interrupt_DMA4InterruptDMA Channel 4
55IRQ 47 · 0x000072T6Interrupt_T6InterruptTimer 6
56IRQ 48 · 0x000074T7Interrupt_T7InterruptTimer 7
57IRQ 49 · 0x000076SI2C2Interrupt_SI2C2InterruptI2C2 Slave Events
58IRQ 50 · 0x000078MI2C2Interrupt_MI2C2InterruptI2C2 Master Events
59IRQ 51 · 0x00007AT8Interrupt_T8InterruptTimer 8
60IRQ 52 · 0x00007CT9Interrupt_T9InterruptTimer 9
61IRQ 53 · 0x00007EINT3Interrupt_INT3InterruptExternal Interrupt 3
62IRQ 54 · 0x000080INT4Interrupt_INT4InterruptExternal Interrupt 4
63IRQ 55 · 0x000082C2RxRdyInterrupt_C2RxRdyInterruptECAN2 Receive Data Ready
64IRQ 56 · 0x000084C2Interrupt_C2InterruptECAN2 Event
67IRQ 59 · 0x00008ADCIEInterrupt_DCIEInterruptDCI Fault Interrupt
68IRQ 60 · 0x00008CDCIInterrupt_DCIInterruptDCI Transfer Done
69IRQ 61 · 0x00008EDMA5Interrupt_DMA5InterruptDMA Channel 5
70IRQ 62 · 0x000090RTCCInterrupt_RTCCInterruptRTCC Interrupt
73IRQ 65 · 0x000096U1ErrInterrupt_U1ErrInterruptUART1 Error
74IRQ 66 · 0x000098U2ErrInterrupt_U2ErrInterruptUART2 Error
75IRQ 67 · 0x00009ACRCInterrupt_CRCInterruptCRC Generator Interrupt
76IRQ 68 · 0x00009CDMA6Interrupt_DMA6InterruptDMA Channel 6
77IRQ 69 · 0x00009EDMA7Interrupt_DMA7InterruptDMA Channel 7
78IRQ 70 · 0x0000A0C1TxReqInterrupt_C1TxReqInterruptECAN1 Transmit Data Request
79IRQ 71 · 0x0000A2C2TxReqInterrupt_C2TxReqInterruptECAN2 Transmit Data Request
89IRQ 81 · 0x0000B6U3ErrInterrupt_U3ErrInterruptUART3 Error
90IRQ 82 · 0x0000B8U3RXInterrupt_U3RXInterruptUART3 Receiver
91IRQ 83 · 0x0000BAU3TXInterrupt_U3TXInterruptUART3 Transmitter
95IRQ 87 · 0x0000C2U4ErrInterrupt_U4ErrInterruptUART4 Error
96IRQ 88 · 0x0000C4U4RXInterrupt_U4RXInterruptUART4 Receiver
97IRQ 89 · 0x0000C6U4TXInterrupt_U4TXInterruptUART4 Transmitter
98IRQ 90 · 0x0000C8SPI3ErrInterrupt_SPI3ErrInterruptSPI3 error
99IRQ 91 · 0x0000CASPI3Interrupt_SPI3InterruptSPI3 transfer done
100IRQ 92 · 0x0000CCOC9Interrupt_OC9InterruptOutput Compare 9
101IRQ 93 · 0x0000CEIC9Interrupt_IC9InterruptInput Capture 9
126IRQ 118 · 0x000100DMA8Interrupt_DMA8InterruptDMA Channel 8
127IRQ 119 · 0x000102DMA9Interrupt_DMA9InterruptDMA Channel 9
128IRQ 120 · 0x000104DMA10Interrupt_DMA10InterruptDMA Channel 10
129IRQ 121 · 0x000106DMA11Interrupt_DMA11InterruptDMA Channel 11
130IRQ 122 · 0x000108SPI4ErrInterrupt_SPI4ErrInterruptSPI4 error
131IRQ 123 · 0x00010ASPI4Interrupt_SPI4InterruptSPI4 transfer done
132IRQ 124 · 0x00010COC10Interrupt_OC10InterruptOutput Compare 10
133IRQ 125 · 0x00010EIC10Interrupt_IC10InterruptInput Capture 10
134IRQ 126 · 0x000110OC11Interrupt_OC11InterruptOutput Compare 11
135IRQ 127 · 0x000112IC11Interrupt_IC11InterruptInput Capture 11
136IRQ 128 · 0x000114OC12Interrupt_OC12InterruptOutput Compare 12
137IRQ 129 · 0x000116IC12Interrupt_IC12InterruptInput Capture 12
138IRQ 130 · 0x000118DMA12Interrupt_DMA12InterruptDMA Channel 12
139IRQ 131 · 0x00011ADMA13Interrupt_DMA13InterruptDMA Channel 13
140IRQ 132 · 0x00011CDMA14Interrupt_DMA14InterruptDMA Channel 14
142IRQ 134 · 0x000120OC13Interrupt_OC13InterruptOutput Compare 13
143IRQ 135 · 0x000122IC13Interrupt_IC13InterruptInput Capture 13
144IRQ 136 · 0x000124OC14Interrupt_OC14InterruptOutput Compare 14
145IRQ 137 · 0x000126IC14Interrupt_IC14InterruptInput Capture 14
146IRQ 138 · 0x000128OC15Interrupt_OC15InterruptOutput Compare 15
147IRQ 139 · 0x00012AIC15Interrupt_IC15InterruptInput Capture 15
148IRQ 140 · 0x00012COC16Interrupt_OC16InterruptOutput Compare 16
149IRQ 141 · 0x00012EIC16Interrupt_IC16InterruptInput Capture 16
150IRQ 142 · 0x000130ICDInterrupt_ICDInterruptICD Application
151IRQ 143 · 0x000132JTAGInterrupt_JTAGInterruptJTAG Programming