5-1 EXTI外部中断


title: 05_1 EXTI外部中断
tags:

  • STM32
    categories:
  • STM32学习

[[04_2_keil调试工具]]

中断系统

  • 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而取处理中断程序,处理完成后又返回原来被暂停的位置继续运行
  • 中断优先级:当有多个中断源同时申请中断,CPU 会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源
  • 中断嵌套:当一个中断程序正在运行时,又有新的更高的优先级的中断源申请中断,CPU再次暂停当前的中断程序,转而取处理新的中断程序,处理完后再依次进行返回

EXTI简介


当中断来临时,由硬件自动调用整个函数

  • 整体结构图
    • AFIO中断引脚选择:可以选择3个GPIO的16个引脚里选择其中一个连接到后面的EXTI通道里,所以相同的PIN不能触发中断
    • 后面会经过EXTI边沿检测及控制,讲信号分成两部分:NVIC和其他外设
      • 注意:外部中断的95,和1510,分配到同一个通道里,也就是外部中断的95会触发同一个中断函数,1510同理

AFIO

AFIO复用IO口

  • AFIO 主要用于引脚复用功能的选择和重定义
  • 在STM32中,AFIO主要完成
    • 复用功能引脚重映射
    • 中断引脚选择

触发方式:

  1. 上升沿:电平从低电平变到高电平的瞬间触发中断
  2. 下降沿:与上面相反
  3. 双边沿:上升沿和下降沿都可以触发中断
  4. 软件触发:不需要电平变化,程序一句话就可以触发中断

响应方式

中断响应:是正常的流程,引脚电平触发中断
事件触发:外部中断信号就不会通向CPU了,而是通向其他外设,用来触发其他外设的操作,属于外设之间的联合工作

  • 比如触发ADC转化、触发DMA等

STM32中断

68个可屏蔽中断通道、包含EXTI外部中断、TIM定时器、ADC模数转换器、USART串口、SPI通信、I2C通信、RTC实时时钟等多个外设(具体数量以对应型号的数据手册为准)

  • 模块多、且几乎所有外设都可以申请中断

使用NVIC同一管理中断、每个中断通道都拥有16个可编程的优先级,可对优先级进行分组

看门狗WWDG:如果程序卡死了,没有及时喂狗,窗口看门狗就会申请中断,让程序跳转到窗口看门够的中断程序中,我们可以在中断程序里进行一些错误检查,看看出现什么问题了
电源电压进检测PVD:如果供电电压不足,PVD电路就会申请中断,在中断中就可以知道是电池没电供电不足,要赶紧保存一下重要数据

总而言之,当外设电路检测到有什么异常或者事件,需要提示一下CPU的时候,它就可以申请中断,让程序跳到对应的中断函数里运行一次,用来处理这个异常或事件

NVIC基本结构

在STM32中用来统一分配中断优先级和管理中断,它是一个内核外设,是CPU小助手,类似优先编码器

NVIC的优先分组

    • 类似插队的形式叫做响应优先级,即处理完前一个程序后,插队进去优先处理
    • 可以直接打断当前叫做抢占优先级,类似前面所讲的中断嵌套

分组方式是我们自己选择,选好分组后,我们在配置优先级的时候,就要注意抢占优先级和响应优先级的取值范围了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值