参考:b站up皖江工与STM32
一、执行方式
二、什么是中断捏?
2.1 中断的全过程
2.2 中断的作用
2.3 中断的优先级
中断优先级处理原则:高级中断可以打断低级中断;低级中断不能打断高级中断
中断嵌套:
STM32CubeMX默认将优先级分组设置为第4组,即有0~15,共16级抢占优先级,没有子优先级。编号越小的优先级越高,0号为最高,15号为最低。
2.4 引脚分组
2.5 外部中断触发方式
上升沿触发:当GPIO端口的引脚由低电平跳变到高电平时,产生脉冲触发中断响应事件执行
下降沿触发:当GPIO端口的引脚由高电平跳变到低电平时,产生脉冲触发中断响应事件执行
双边沿触发: 只要端口状态发生边沿变化,即触发中断事件
三、代码编写过程以及实操
案例1:采用中断方式检测按键状态,按键按下后执行操作:翻转指示灯LED的状态。
3.1 CubeMX配置
选择上升沿?下降沿?还是双边沿?主要是看我们的按键触发方式。
主要看我们的思路,对于一般的下拉式按键来说,
上升沿:我们希望在按键松开的瞬间就出发中断,就选择上升沿
下降沿:我们希望在按键按下的瞬间就出发中断,就选择下降沿
对于上拉式按键来说,如上图WKUP,则相反。
这里我选择下降沿,我的按键属于上拉式按键,所以选pull up
接下来要点击NVIC
3.2 代码
跳转,复制这个函数:
写在main.c中的begin4:
完整代码在下面链接:
链接:https://pan.baidu.com/s/1_l_9TqHQKxN1pNCpMD0lBQ?pwd=0nee
提取码:0nee