STM32-EXTI中断

EXTI简介

EXTI(Extern Interrupt)外部中断

EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序

支持的触发方式:上升沿/下降沿/双边沿/软件触发(程序执行代码指令)

支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断

通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒

触发响应方式:中断响应/事件响应(外部中断发生时,可以选择不触发一个中断,而是触发一个事件)

EXTI基本结构

每个GPIO有16个口,和AFIO连接,AFIO又引出16个引脚和EXIT外部中断连接;AFIO是数据选择器,可以从前面的GPIO中,选择一个引脚连接到后面的EXTI 通道里,所以上面有说,相同的PIN不能同时触发中断,因为经过AFIO选择后,只有一个能接到EXTI的通道0上,也就没法同时触发中断了;

为了节省NVIC的资源,ST将9-5指向同一个NVIC,15-10也是同一个NVIC,同一个NVIC共用中断函数,使用这个几个中断的时候,需要在中断函数里根据标志位进行区分 ;下面有20条线到了其他外设,这个就是用来触发其他外设的,也就是事件响应;

AFIO复用IO口

所有的PIN0复用到EXTI0,这也是为什么同一个PIN同时只能有一个触发中断

AFIO主要用于引脚复用功能的选择和重定义

在STM32中,AFIO主要完成两个任务:复用功能引脚重映射(最开始引脚定义表里那个重定义功能)、中断引脚选择

EXTI框图

20条输入线从右下角接入,经过边沿检测电路(上升沿/下降沿触发选择寄存器是可以配置的)上升沿触发/下降沿触发,软件中断事件寄存器(软件触发中断),然后经过或门后兵分两路,上一路是触发中断的(与门和中断屏蔽寄存器组成了一个开发,管控中断能不能响应),下一路是触发事件的(脉冲发生器会给一个脉冲,用来触发外设动作);

相关推荐
国科安芯5 小时前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
树的枝8 小时前
【STM32】03.中断和EXTI外设
笔记·stm32·单片机·嵌入式硬件
单片机杂货铺9 小时前
【单片机毕业设计选题】基于stm32单片机儿童公路车速度检测报警
stm32·单片机·嵌入式硬件·51单片机·硬件工程·课程设计
振南的单片机世界10 小时前
看门狗硬核拆解:1.6秒不喂狗,硬件强制“掀桌子”
arm开发·stm32·单片机·嵌入式硬件
嵌入式阿蔡11 小时前
Linux_01:交叉编译与开发环境实战——从单片机跨到 Linux 的第一道坎
linux·运维·网络·单片机·嵌入式硬件·嵌入式实时数据库
NYFEA12 小时前
徕飞 FCA系列全面上新,一站式I/O扩展国产替代方案
单片机·嵌入式硬件
国科安芯13 小时前
ASL622S:把“信号失真“挡在门外的航天级运放
网络·单片机·嵌入式硬件·架构·状态模式·低轨卫星星座
XiHongShi201613 小时前
STM32H7 FLASH和SRAM标准例程
stm32·单片机·嵌入式硬件
单片机杂货铺14 小时前
【单片机毕业设计选题】基于单片机的智能牛奶保鲜箱设计
人工智能·stm32·单片机·物联网·毕业设计·课程设计
LCG元15 小时前
STM32F103 硬件 I2C 驱动 MPU6050:一阶互补滤波姿态解算与零偏校准实测
stm32·单片机·嵌入式硬件