hal库开启中断关中断_(2)STM32使用HAL库操作外部中断——理论讲解

1.中断触发过程

对主程序压栈——把中断服务函数的地址写入到程序计数器(PC)——执行中断服务函数

2.中断向量表

中断服务函数的地址在STM32的手册上的中断向量表中(如下是一部分):

hal库开启中断关中断_(2)STM32使用HAL库操作外部中断——理论讲解_第1张图片

如上表所示,EXTI0中断服务函数的地址是0x00000058。意思就是如果触发了外部中断那么就从0x00000058地址开始执行,这个地址的函数可以在HAL库的启动文件中找到。

hal库开启中断关中断_(2)STM32使用HAL库操作外部中断——理论讲解_第2张图片

很明显,EXTI0的中断服务函数的函数名是:EXTI0_IRQHandler

49810f33a54f0e344ea02f69aa4d766e.png

EXTI0~EXTI4是独立的,9~5共用中断源,15~10共用中断源,9~5和15~10的中断需要在中断函数中判断是哪个中断引脚。

你可能感兴趣的:(hal库开启中断关中断)