GPIO中断实现流程
1.我的理解
GPIO中断实现的流程:GPIO外部引脚电平发生跳变触发EXTI中断(包含上升沿触发,下降沿触发,双边沿触发)触发后的信号传送到NVIC,NVIC设置中断优先级包含抢占优先级和分组优先级,同时进行使能(使能的含义就是允许中断触发的信号进入CPU),同时把中断向量表给CPU,CPU根据中断的优先级去处理各个中断。
外部引脚电平变化------------EXTI中断--------------NVIC------------------CPU
EXTI功能:1.上升沿触发中断/下降沿触发中断/双边沿触发中断
2.使能中断:允许中断EXTI进入到NVIC,相当于一个开关
NVIC功能:1.设置中断优先级(抢占优先级/子优先级)
2.使能中断:允许中断从NVIC传到CPU
3.NVIC将中断向量表给CPU,CPU根据表格数据中中断的ID号找到对应的中断位置(相关寄存器位置)去处理中断
CPU功能:1.使能中断:命令cpu去处理中断
2.STM32cubeMX设置
实现功能按键控制开发板上的灯闪烁 stm32DShanMCU-F103按键是PB14, 灯是PC13,按键按下触发中断,灯亮,松开按键触发中断,灯灭
(1)选择PB14引脚连接到GPIO_EXTI14通道

2.选择GPIO设置双边沿触发

3.开启NVIC

3.生成代码

3.生成HAL库相关代码
与上述设置一样,双边沿触发/同时开启NVIC中断

4.内部实现流程
(1)查看中断向量表

(2)中断函数涉及相关的引脚(涉及引脚14)
(3)调用回调函数

(4)调用回调函数实现功能
按键按下,灯亮,按键松开,灯灭

