What are the names of interrupt service routines for the msp430 series of microcontrollers?

934 Views Asked by At

Is there a comprehensive list of names of interrupt service routines (ISR), specifically for msp430F5438A? Any help would be appreciated, thanks.

2

There are 2 best solutions below

0
CL. On BEST ANSWER

A function is connected to an interrupt vector with #pragma vector=nr or __attribute__((interrupt(nr))), depending on the compiler used.

The name of the function does not matter, only that vector number.

You can name the function after the hardware module (see kfx's answer for an example list), but it might make more sense to name it after the actual function you have assigned to that part of the hardware (e.g., red_button_gpio_interrupt() instead of port1_interrupt()).

2
kfx On

You can find the list of #defines along with descriptive comments in msp430/include/msp430f5438a (for msp430f5438a specifically, other MCU models have their own header files).

Copy-pasting from there:

/************************************************************
* Interrupt Vectors (offset from 0xFF80)
************************************************************/

#define RTC_VECTOR          (0x0052) /* 0xFFD2 RTC */
#define PORT2_VECTOR        (0x0054) /* 0xFFD4 Port 2 */
#define USCI_B3_VECTOR      (0x0056) /* 0xFFD6 USCI B3 Receive/Transmit */
#define USCI_A3_VECTOR      (0x0058) /* 0xFFD8 USCI A3 Receive/Transmit */
#define USCI_B1_VECTOR      (0x005A) /* 0xFFDA USCI B1 Receive/Transmit */
#define USCI_A1_VECTOR      (0x005C) /* 0xFFDC USCI A1 Receive/Transmit */
#define PORT1_VECTOR        (0x005E) /* 0xFFDE Port 1 */
#define TIMER1_A1_VECTOR    (0x0060) /* 0xFFE0 Timer1_A3 CC1-2, TA1 */
#define TIMER1_A0_VECTOR    (0x0062) /* 0xFFE2 Timer1_A3 CC0 */
#define DMA_VECTOR          (0x0064) /* 0xFFE4 DMA */
#define USCI_B2_VECTOR      (0x0066) /* 0xFFE6 USCI B2 Receive/Transmit */
#define USCI_A2_VECTOR      (0x0068) /* 0xFFE8 USCI A2 Receive/Transmit */
#define TIMER0_A1_VECTOR    (0x006A) /* 0xFFEA Timer0_A5 CC1-4, TA */
#define TIMER0_A0_VECTOR    (0x006C) /* 0xFFEC Timer0_A5 CC0 */
#define ADC12_VECTOR        (0x006E) /* 0xFFEE ADC */
#define USCI_B0_VECTOR      (0x0070) /* 0xFFF0 USCI B0 Receive/Transmit */
#define USCI_A0_VECTOR      (0x0072) /* 0xFFF2 USCI A0 Receive/Transmit */
#define WDT_VECTOR          (0x0074) /* 0xFFF4 Watchdog Timer */
#define TIMER0_B1_VECTOR    (0x0076) /* 0xFFF6 Timer0_B7 CC1-6, TB */
#define TIMER0_B0_VECTOR    (0x0078) /* 0xFFF8 Timer0_B7 CC0 */
#define UNMI_VECTOR         (0x007A) /* 0xFFFA User Non-maskable */
#define SYSNMI_VECTOR       (0x007C) /* 0xFFFC System Non-maskable */
#define RESET_VECTOR        (0x007E) /* 0xFFFE Reset [Highest Priority] */