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

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

相关推荐
某林21210 小时前
基于SLAM Toolbox的移动机器人激光建图算法原理与工程实现
stm32·嵌入式硬件·算法·slam
DTI070111 小时前
xilinx的vivado工具综合一直转圈圈,卡死后如何解决?
嵌入式硬件·fpga开发
点灯小铭13 小时前
基于单片机的去皮计价与超重报警电子秤设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
章鱼哥嵌入式开发15 小时前
【 STM32 ADC电压采集与串口显示系统】
stm32·单片机·课程设计·嵌入式学习·实验室测量
HappyShengxiang17 小时前
TI发布全新Cortex-M33的MCU产品MSPM33C321A
单片机·嵌入式硬件·mcu·电赛
✧˖‹gσσ∂ иιghт›✧17 小时前
stm32 cube max+keil5的环境怎么printf重定向
stm32·单片机·嵌入式硬件
芋头莎莎18 小时前
keil 4 51单片机的安装教程
单片机·嵌入式硬件·51单片机
xingzhemengyou119 小时前
STM32 时钟树
stm32·单片机
无聊到发博客的菜鸟19 小时前
STM32 手册寄存器属性
stm32·单片机·嵌入式·rtos·寄存器
tengtext19 小时前
单片机mcu(stm32)计算生成二维码
stm32·单片机·嵌入式硬件