STM32 中断详解,适合初级学员

STM32中断详解,适合初级学员

3b819eeda7e7e559719d532294220469.png

中断,在单片机中占有非常重要的地位。代码默认地从上向下执行,遇到条件或者其他语句,会按照指定的地方跳转。而在单片机执行代码的过程中,难免会有一些突发的情况需要处理,这样就会打断当前的代码,待处理完突发情况之后,程序会回到被打断的地方继续执行。

1 EXTI控制器

外部中断/事件控制器(EXTI)管理了控制器的 23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。

8f4ac9e61135e5cc4ccc9b70b70e2132.png

外部信号进入经过1的边沿检测电路,检测是否符合(有2和3的上升沿和下降沿选择寄存器决定),产生信号,然后和4软件中断事件寄存器或值,(在这里也就说可以写入软件中断事件寄存器模拟中断和事件),之后产生信号一分为二,看5中断屏蔽寄存器和7事件屏蔽寄存器,如果中断和事件都没有屏蔽,首先会产生事件,进入脉冲发生器。其次,会进入6挂起寄存器,然后进入NVIC。

注意:

1、上面说,我们可以使用寄存器4软件模拟中断事件寄存器模式符合条件的信号进入,为什么不能用6寄存器呢?因为

2673453440a23487f497f4fa400534eb.png

寄存器是可读可清除的寄存器,通过写1清除。写0无效。所以不能使用

2、关于挂起寄存器,挂起就是,证明有了中断,会在触发中断。但是不会硬件清除。

2edd84a6259095d3257caf5a4e9dfce7.png

只能软件清除,或者修改边沿极性的时候清除。如下

2d5984626d169f39a2e759c0c8f8b1db.png

先说EXTI吧,

EXTI控制器的主要特性:

·每个中断/事件线上都具有独立的触发和屏蔽

·每个中断线都具有专用的状态位

·支持多达23个软件事件/中断请求

·检测脉冲宽度低于APB2时钟宽度的外部信号

下图是ST207的框架图

7a8b2aa0b5eb03d30a7be198826860d4.png

下图为翻译版

c515a436b6694cee1ea22be694a65f72.png

从图中看出和外部中断有关的寄存器有:上升沿触发选择、下降沿触发选择、软件中断事件寄存器、中断屏蔽寄存器、挂起请求寄存器、事件屏蔽寄存器和NVIC中断控制寄存器等

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值