stm32单片机中断向量表
时间: 2023-11-29 22:07:10 浏览: 187
stm32_中断
中断向量表是一个4byte的数组,每个成员都是一个地址,指向相应的中断处理函数。在STM32单片机中,中断向量表是一个存储在FLASH中的表格,用于存储中断处理函数的入口地址。在芯片复位时,CPU会自动将中断向量表的第一个地址加载到程序计数器PC中,从而跳转到中断处理函数的入口地址。特别的,第一个成员是栈顶地址,第二个成员是复位函数Reset_Handler。在STM32单片机中,中断向量表的地址可以通过NVIC中的一个重定位寄存器来设置。
代码示例:
```c
// 定义中断处理函数
void EXTI0_IRQHandler(void)
{
// 中断处理代码
}
// 定义中断向量表
__attribute__((section(".isr_vector"))) void (* const g_pfnVectors[])(void) =
{
(void (*)(void))((uint32_t)&g_pulStack[STACK_SIZE-1]), // 栈顶地址
Reset_Handler, // 复位函数
NMI_Handler, // NMI中断处理函数
HardFault_Handler, // 硬件故障中断处理函数
// ...
EXTI0_IRQHandler, // 外部中断0中断处理函数
// ...
};
```
阅读全文