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)调用回调函数实现功能

按键按下,灯亮,按键松开,灯灭

相关推荐
不能跑的代码不是好代码8 小时前
STM32窗口看门狗(WWDG)知识点及标准库使用指南
stm32·单片机·嵌入式硬件
bingquan33338 小时前
在 Ghidra 中分析STM32裸机固件
stm32·单片机·嵌入式硬件
羽获飞8 小时前
从零开始学嵌入式之STM32——11.STM32---USART串行通讯
stm32·单片机·嵌入式硬件
宵时待雨10 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行10 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai54593610 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
松涛和鸣12 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂12 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS13 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏13 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机