32 #ifndef __INTERRUPT_H__
33 #define __INTERRUPT_H__
56 #include <ti/devices/msp432p4xx/inc/msp.h>
62 #define FAULT_NMI ( 2)
63 #define FAULT_HARD ( 3)
64 #define FAULT_MPU ( 4)
65 #define FAULT_BUS ( 5)
66 #define FAULT_USAGE ( 6)
67 #define FAULT_SVCALL (11)
68 #define FAULT_DEBUG (12)
69 #define FAULT_PENDSV (14)
70 #define FAULT_SYSTICK (15)
76 #define INT_WDT_A (19)
78 #define INT_FLCTL (21)
79 #define INT_COMP_E0 (22)
80 #define INT_COMP_E1 (23)
81 #define INT_TA0_0 (24)
82 #define INT_TA0_N (25)
83 #define INT_TA1_0 (26)
84 #define INT_TA1_N (27)
85 #define INT_TA2_0 (28)
86 #define INT_TA2_N (29)
87 #define INT_TA3_0 (30)
88 #define INT_TA3_N (31)
89 #define INT_EUSCIA0 (32)
90 #define INT_EUSCIA1 (33)
91 #define INT_EUSCIA2 (34)
92 #define INT_EUSCIA3 (35)
93 #define INT_EUSCIB0 (36)
94 #define INT_EUSCIB1 (37)
95 #define INT_EUSCIB2 (38)
96 #define INT_EUSCIB3 (39)
97 #define INT_ADC14 (40)
98 #define INT_T32_INT1 (41)
99 #define INT_T32_INT2 (42)
100 #define INT_T32_INTC (43)
101 #define INT_AES256 (44)
102 #define INT_RTC_C (45)
103 #define INT_DMA_ERR (46)
104 #define INT_DMA_INT3 (47)
105 #define INT_DMA_INT2 (48)
106 #define INT_DMA_INT1 (49)
107 #define INT_DMA_INT0 (50)
108 #define INT_PORT1 (51)
109 #define INT_PORT2 (52)
110 #define INT_PORT3 (53)
111 #define INT_PORT4 (54)
112 #define INT_PORT5 (55)
113 #define INT_PORT6 (56)
114 #define INT_LCD_F (57)
116 #define NUM_INTERRUPTS (57)
123 #define INT_PRIORITY_MASK ((0xFF << (8 - NUM_PRIORITY_BITS)) & 0xFF)
124 #define NUM_PRIORITY 8
126 #define NVIC_APINT_PRIGROUP_M 0x00000700 // Interrupt Priority Grouping
127 #define NVIC_APINT_PRIGROUP_7_1 0x00000000 // Priority group 7.1 split
128 #define NVIC_APINT_PRIGROUP_6_2 0x00000100 // Priority group 6.2 split
129 #define NVIC_APINT_PRIGROUP_5_3 0x00000200 // Priority group 5.3 split
130 #define NVIC_APINT_PRIGROUP_4_4 0x00000300 // Priority group 4.4 split
131 #define NVIC_APINT_PRIGROUP_3_5 0x00000400 // Priority group 3.5 split
132 #define NVIC_APINT_PRIGROUP_2_6 0x00000500 // Priority group 2.6 split
133 #define NVIC_APINT_PRIGROUP_1_7 0x00000600 // Priority group 1.7 split
134 #define NVIC_APINT_PRIGROUP_0_8 0x00000700 // Priority group 0.8 split
135 #define NVIC_SYS_PRI1_R 0xE000ED18 // System Handler Priority 1
136 #define NVIC_SYS_PRI2_R 0xE000ED1C // System Handler Priority 2
137 #define NVIC_SYS_PRI3_R 0xE000ED20 // System Handler Priority 3
138 #define NVIC_PRI0_R 0xE000E400 // Interrupt 0-3 Priority
139 #define NVIC_PRI1_R 0xE000E404 // Interrupt 4-7 Priority
140 #define NVIC_PRI2_R 0xE000E408 // Interrupt 8-11 Priority
141 #define NVIC_PRI3_R 0xE000E40C // Interrupt 12-15 Priority
142 #define NVIC_PRI4_R 0xE000E410 // Interrupt 16-19 Priority
143 #define NVIC_PRI5_R 0xE000E414 // Interrupt 20-23 Priority
144 #define NVIC_PRI6_R 0xE000E418 // Interrupt 24-27 Priority
145 #define NVIC_PRI7_R 0xE000E41C // Interrupt 28-31 Priority
146 #define NVIC_PRI8_R 0xE000E420 // Interrupt 32-35 Priority
147 #define NVIC_PRI9_R 0xE000E424 // Interrupt 36-39 Priority
148 #define NVIC_PRI10_R 0xE000E428 // Interrupt 40-43 Priority
149 #define NVIC_PRI11_R 0xE000E42C // Interrupt 44-47 Priority
150 #define NVIC_PRI12_R 0xE000E430 // Interrupt 48-51 Priority
151 #define NVIC_PRI13_R 0xE000E434 // Interrupt 52-55 Priority
152 #define NVIC_PRI14_R 0xE000E438 // Interrupt 56-59 Priority
153 #define NVIC_PRI15_R 0xE000E43C // Interrupt 60-63 Priority
154 #define NVIC_EN0_R 0xE000E100 // Interrupt 0-31 Set Enable
155 #define NVIC_EN1_R 0xE000E104 // Interrupt 32-54 Set Enable
156 #define NVIC_DIS0_R 0xE000E180 // Interrupt 0-31 Clear Enable
157 #define NVIC_DIS1_R 0xE000E184 // Interrupt 32-54 Clear Enable
158 #define NVIC_PEND0_R 0xE000E200 // Interrupt 0-31 Set Pending
159 #define NVIC_PEND1_R 0xE000E204 // Interrupt 32-54 Set Pending
160 #define NVIC_UNPEND0_R 0xE000E280 // Interrupt 0-31 Clear Pending
161 #define NVIC_UNPEND1_R 0xE000E284 // Interrupt 32-54 Clear Pending
226 void (*intHandler)(
void));
576 #endif // __INTERRUPT_H__
bool Interrupt_enableMaster(void)
void Interrupt_setVectorTableAddress(uint32_t addr)
Definition: interrupt.c:515
void Interrupt_enableSleepOnIsrExit(void)
Definition: interrupt.c:525
void Interrupt_disableSleepOnIsrExit(void)
Definition: interrupt.c:530
void Interrupt_enableInterrupt(uint32_t interruptNumber)
Definition: interrupt.c:295
uint32_t Interrupt_getVectorTableAddress(void)
Definition: interrupt.c:520
void Interrupt_unpendInterrupt(uint32_t interruptNumber)
Definition: interrupt.c:473
uint8_t Interrupt_getPriorityMask(void)
Definition: interrupt.c:510
bool Interrupt_disableMaster(void)
Definition: interrupt.c:157
void Interrupt_registerInterrupt(uint32_t interruptNumber, void(*intHandler)(void))
Definition: interrupt.c:165
bool Interrupt_isEnabled(uint32_t interruptNumber)
Definition: interrupt.c:383
void Interrupt_setPriorityMask(uint8_t priorityMask)
Definition: interrupt.c:505
void Interrupt_setPriority(uint32_t interruptNumber, uint8_t priority)
Definition: interrupt.c:263
void Interrupt_pendInterrupt(uint32_t interruptNumber)
Definition: interrupt.c:435
void Interrupt_disableInterrupt(uint32_t interruptNumber)
Definition: interrupt.c:339
uint8_t Interrupt_getPriority(uint32_t interruptNumber)
Definition: interrupt.c:281
uint32_t Interrupt_getPriorityGrouping(void)
Definition: interrupt.c:234
void Interrupt_setPriorityGrouping(uint32_t bits)
Definition: interrupt.c:221
void Interrupt_unregisterInterrupt(uint32_t interruptNumber)
Definition: interrupt.c:208