msp430系列单片机的中断服务程序有哪些名称?
What are the names of interrupt service routines for the msp430 series of microcontrollers?
是否有专门针对 msp430F5438A 的中断服务例程 (ISR) 名称的完整列表?如有任何帮助,我们将不胜感激。
您可以在 msp430/include/msp430f5438a
中找到 #defines
的列表以及描述性注释(特别是对于 msp430f5438a
,其他 MCU 型号有自己的头文件)。
从那里复制粘贴:
/************************************************************
* 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] */
根据使用的编译器,函数使用 #pragma vector=nr
或 __attribute__((interrupt(nr)))
连接到中断向量。
函数的名称无所谓,只有那个向量号。
您可以在硬件模块之后命名该功能(请参阅 kfx 的回答以获取示例列表),但在您分配给该部分硬件的实际功能之后命名它可能更有意义(例如,red_button_gpio_interrupt()
而不是 port1_interrupt()
).
是否有专门针对 msp430F5438A 的中断服务例程 (ISR) 名称的完整列表?如有任何帮助,我们将不胜感激。
您可以在 msp430/include/msp430f5438a
中找到 #defines
的列表以及描述性注释(特别是对于 msp430f5438a
,其他 MCU 型号有自己的头文件)。
从那里复制粘贴:
/************************************************************
* 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] */
根据使用的编译器,函数使用 #pragma vector=nr
或 __attribute__((interrupt(nr)))
连接到中断向量。
函数的名称无所谓,只有那个向量号。
您可以在硬件模块之后命名该功能(请参阅 kfx 的回答以获取示例列表),但在您分配给该部分硬件的实际功能之后命名它可能更有意义(例如,red_button_gpio_interrupt()
而不是 port1_interrupt()
).