【STM32基础】外部中断

本文详细介绍了STM32的外部中断/事件控制器EXTI的工作原理,包括中断和事件的产生机制、线路配置,以及中断服务函数的使用,重点强调了中断标志位在确认中断发生中的作用。同时提及了EXTI如何与定时器TIM和ADC等外设配合,产生触发信号。
摘要由CSDN通过智能技术生成

一、基本概念

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

2.EXTI功能框图(EXTI 是在 APB2 总线上的

    2.1 产生中断的线路(红色),控制中断回调函数执行中断事件,软件级

        1)输入线(F4-23个):存入边沿变化的信号 

        2)边沿检测电路——分析边沿是否有效:分析上升沿/下降沿,一是 选用对应的上升沿/下降沿触发寄存器;二是 输出有效/无效信号给  3)处或门

        3)或门——用于判断是否需产生中断:软件中断寄存器 (EXTI_SWIER允许通过程序控制就可以启动中断/事件线 ), 或 外部中断,有其一即可 产生中断正确信号

        4)与门——控制中断的产生:3)处中断正确信号 与 中断屏蔽信号 相与,中断屏蔽信号为1,方为真的可以产生中断,可以控制 EXTI_IMR 来实现是否产生中断的目的

        5)中断挂起请求器(EXTI_PR):将 EXTI_PR 寄存器内容输出到 NVIC 内,从而实现系统中断事件控制

    2.2 产生事件的线路(绿色),最后输出脉冲信号,硬件级

        6)与门——控制事件的产生:可以控制 事件屏蔽寄存器 (EXTI_EMR) 来实现是否产生事件的目的

        7)脉冲发生器——有事件则产生一个脉冲:6)处输出一个有效信号 1 时就会产生一个脉冲;如果输入端是无效信号就不会输出脉冲

        8)脉冲信号——产生事件的线路最终的产物:可以给其他外设电路使用,比如定时器 TIM、模拟数字转换器 ADC 等等,这样的脉冲信号一般用来触发 TIM 或者 ADC 开始转换

3.中断事件线

二、函数配置

1.中断基础配置

2.中断服务函数+中断标志位:一般为确保中断确实发生,我们会在中断服务函数调用中断标志位状态读取函数读取外设中断 标志位并判断标志位状态。

 3.主函数——初始化之前的标准库配置函数,等待中断产生

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值