STM32 中断流程介绍

STM32可以产生中断的事件多种多样,比如:定时器时间结束、串口接收到数据、某个GPIO检测到电平变化等等等等。

1、STM32 gpio 中断处理流程介绍

1、从引脚进入的高低电平首先由输入驱动器处理,如下图

2、经过输入驱动器处理后的信号会进入边沿检测电路

3、边沿检测电路会按照我们配置的上升沿还是下降沿,满足之后会输入1给请求挂起寄存器。

4、请求挂起寄存器会经过一个与门,如果我们开启了此中断,信号1就会传送给NVIC中断控制器。

5、最后会进入中断向量表,查找对应的中断函数,执行。执行完后记得清除请求中断挂起寄存器(这一步CubeMX已经帮我们做好了),防止NVIC误导再次执行相关函数。

2、优先级

1、stm32为每个中断向量准备了4个二进制位来存储中断优先级信息。可以自由分配几位用来设置抢占优先级,几位用来设置响应优先级。CubeIDE在如下位置配置。

2、优先级数字越小,代表越优先。

3、当两中断同时发生时,先比较抢占优先级,相同的话再比较响应优先级。如果还相同,就按照中断向量表中的顺序执行。

3、测试中断

将按键引脚设置为中断模式,当按键按下中断触发,执行中断函数,完成小灯亮灭。

3.1、按键中断配置

点击左侧NVIC,勾选上EXTI 15:10中断向量。

3.2、coding编写中断服务函数

中断函数进入,延时10ms,再次确认按键是否按下,如果按下则翻转小灯电平。

目的是为了消抖。

相关推荐
俊俊谢24 分钟前
华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)
嵌入式硬件·嵌入式·arm·嵌入式软件·hc32f460
芯联智造25 分钟前
【stm32简单外设篇】- 高灵敏麦克风传感器模块 KY-037
c语言·stm32·单片机·嵌入式硬件
三佛科技-134163842121 小时前
点焊机方案开发,点焊机MCU控制方案设计
单片机·嵌入式硬件·智能家居·pcb工艺
brave and determined1 小时前
传感器学习(day06):PM2.5传感器技术全解析
嵌入式硬件·嵌入式开发·嵌入式应用·嵌入式设计·pm2.5·微量振荡天平·beta射线法
鸿喵小仙女2 小时前
HC32 SWDT看门狗
单片机·嵌入式硬件·hc32
点灯小铭2 小时前
基于单片机的喷漆机器人自动控制系统
单片机·嵌入式硬件·机器人·毕业设计·课程设计·期末大作业
丸子的蓝口袋2 小时前
光耦加PNP管驱动继电器
嵌入式硬件
Dillon Dong3 小时前
STM32嵌入式开发:巧用位运算,打造高效参数ID管理方案
stm32·单片机·嵌入式硬件
亿道电子Emdoor3 小时前
【Arm】Arm DS如何导出Build log文件
stm32·单片机·嵌入式硬件
DIY机器人工房3 小时前
解决方法:关于上传经纬度绑定到onenet可视化平台地图上位置偏移的问题
stm32·单片机·嵌入式硬件·gps·定位·diy机器人工房