4、江协科技STM32的中断系统理论

本文详细介绍了中断系统在IT技术中的重要性,包括中断的执行流程、STM32中的NVIC中断管理、EXTI的中断触发机制以及AFIO的IO口复用。特别关注了抢占优先级和EXTI在电源电压监测和闹钟唤醒方面的应用。
摘要由CSDN通过智能技术生成

中断系统

  • 如果没有中断系统,那么可能会导致外部中断被忽略,或者串口数据被覆盖
  • 这个就相当于一个闹钟,定好闹钟之后,你就可以放心睡觉了。
  • 如果没有闹钟的话,那么就需要不断的看闹钟,生怕错过起床点

中断执行流程

  • 往外设的中断条件满足了,无论主程序在做什么事情,都会执行中断程序
  • 程序会由硬件电路自动跳转到中断程序中
  • 在中断执行前,会对程序的现场进行保护,中断执行后,会再还原现场

第二个图,就是中断嵌套的流程图

一般来说,中断程序是再一个子函数里面的,不需要我们去手动的调用,当中断来临的时候,会由硬件自动调用这个函数

STM32中断

  • 68表示是F1系列最多的中断数量
  • NVIC就是STM32中管理中断,分配优先级的

NVIC基本结构

  • 统一分配中断优先级和管理中断,是内核外设
  • /n的意思:一个外设可能会同时占用多个中断通道
  • NVIC只有一个输出口,根据每个中断的优先级分配中断的先后顺序,然后告诉CPU应该处理那个中断
  • CPU是应该医生,NVIC是叫号系统,由他来管理病人的优先级,让医生更加专注看病

NVIC的优先级队列

  • 对于紧急的病人,有两种形式的优先
    • 当一个病人看完后,紧急的病人是后来的,也会先去看病,这是插队的就是响应优先级(不会打断当前执行)
    • 如果这个病人特别紧急,可以直接冲到病人的屋里,让上一个病人靠边站,就是抢占优先级(会打断当前执行的程序)这种就是中断嵌套,抢占优先级高的

EXTI简介

上升沿:低电平的瞬间高电平

下降沿:高电平的瞬间低电平

双边沿:上升沿和下降沿都可以触发中断

软件出发:程序里面执行一句代码也可以出发中断

PA0和PB0不能同时用,端口的GPIO_Pin一样的,只能选择一个中断引脚

通道数:16个GPIO_Pin是主要的,其他的几个通道数是来蹭网的

  • 外部中断有一个功能,从低功耗模式下停止唤醒STM32
    • 对于PVD电源电压监测,当电压从电压过低恢复的时候,就需要PVD借助一下外部中断退出停止模式
    • 对于RTC闹钟来说,有时候为了省电,RTC定了一个闹钟之后,STM32会进入停止模式,需要借助中断唤醒
  • 中断响应是正常的流程,引脚电平变化触发中断
  • 事件响应不会触发中断,而是会触发别的外设操作,是外设的联合工作

EXTI基本结构

AFIO,就是一个数据选择器

可以在前面的3个GPIO外设的16个引脚里面选择其中一个连接到后面的EXTI

  • 这就是为什么上面说的相同的Pin不能同时触发中断,因为经过AFIO选择后,只有一个可以接到EXTI的通道0上面

EXTI一共有两种输入,一共是接到NVIC,触发中断

  • 外部的9-5,15-10会触发同一个中断函数

下面的20给输入其他的外设,就是事件响应

AFIO复用IO口

EXTI框图

旋转编码器

硬件电路

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值