STM32——外部中断应用(EXTI)(使用CubeMX配置中断)

本文详细介绍了STM32中EXTI扩展中断控制器的工作原理,包括如何通过CubeMX配置外部输入事件检测、触发方式、中断优先级,并演示了中断触发过程和自动生成代码的应用。涵盖了硬件触发、软件触发以及中断向量表的使用。
摘要由CSDN通过智能技术生成

在STM32中,绝大多数事件都是不可见的,但是事件几乎都与终端功能绑定在一起,所以通常我们开启中断功能来使用相应的事件

EXTI:拓展中断和事件控制器,是stm32上的一个外设,可以捕获外部输入线电平变化等等一些事件,EXTI捕获到事件后,还可以生成相应的EXTI中断及等等的一些终端

EXTI的2个功能:捕获外部输入等事件,生成EXTI中断等中断请求

 当输入线发生电平变化时,就会被边沿检测电路检测到,然后上升沿触发选择器和下降沿触发选择器会对这个信号进行选择,比如设置了下降沿触发寄存器,同时边沿检测电路检测到电平由1-0,则这个信号会通过或门,这就是硬件触发,同样的,软件中断事件寄存器的中断请求也可以通过或门,称为软件触发,信号通过或门,如果事件屏蔽器没有屏蔽该信号,则信号会到达脉冲发生器,发起中断请求,货唤醒CPU,中断请求会通过或门到达请求挂起寄存器,如果中断屏蔽寄存器没有屏蔽请求挂起寄存器,这一中断请求就会被送到NVIC

使用CubeMX进行中断配置

1.先进行系统时钟配置,选择外部晶振

2.进行最高频率设置

 3.进入GPIO,开始中断配置,随便点击一个引脚,选择EXTI项

 

我们可以通过查阅参考手册,知道引脚在哪些事件线上

 

 4.设置触发方式

 5.设置中断优先级

 6.代码输出设置

 7.生成代码

自动生成的代码已经完成了刚才的配置

 生成的代码可以复制到自己的项目中

 中断的触发过程:

触发EXTI中断,CPU到中断向量表中取到存放在其中的偏移量,也就是入口地址,最后跳转到中断服务函数中

以下都是中断向量表中的服务函数,触发中断时,CPU就会到这里,根据终端编号进行偏移,取到偏移地址,EXTI被触发,就会跳转到下图红框部分

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值