STM32单片机EXTI模块详解

​ STM32的EXTI(外部中断/事件控制器、External Interrupt/Event Controller)模块是一个功能强大的外设,用于处理外部中断和事件。它允许微控制器在外部信号发生变化时触发中断或事件,从而实现对外部事件的快速响应。本文是对STM32单片机的 EXTI模块的详细介绍,希望能为读者提供帮助。


1. EXTI模块

​ EXTI模块允许STM32的GPIO引脚配置为外部中断源。当外部信号发生变化时,EXTI可以触发中断,使CPU暂停当前任务,转而处理中断事件。

AFIO(备用功能输入输出、Alternate Function I/O)

​ AFIO是STM32微控制器中的一个特殊功能模块,它主要用于配置GPIO引脚的备用功能,实现引脚的复用和重映射。此处AFIO负责将GPIO引脚映射到外部中断线(EXTI),使得所有GPIO引脚都能作为外部中断的输入源。但需注意,引脚的端口(Port)可以不同但引脚号(Pin Number)不能相同(例如PA1和PB1不能同时做为输入源)。

中断触发方式

​ 每个EXTI线可以独立配置为上升沿触发、下降沿触发、双边沿触发或软件触发。

触发方式 效果
上升沿触发 只有在信号从低到高变化时,才会触发中断。 信号保持高电平或低电平时,不会触发任何操作。
下降沿触发 只有在信号从高到低变化时,才会触发中断。 信号保持高电平或低电平时,不会触发任何操作。
双边沿触发 无论信号是上升还是下降,都会触发中断。 信号保持高电平或低电平时,不会触发任何操作。
软件触发 通过设置EXTI的软件中断寄存器(EXTI_SWIER)来模拟硬件信号触发的中断

​ 由前三种触发方式可知,EXTI仅检测信号的变化状态,不检测信号的初始状态或保持状态。但由于大部分元件都遵循常态上拉,触发下拉的原则。因此GPIO接口建议设为上拉输入、或是浮空输入。

通道数

​ STM32支持最多16个GPIO中断线(EXTI0到EXTI15),外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒。

NVIC优先级分组

​ NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,形成五组分组方式,分为高n位的抢占优先级和低4-n位的响应优先级。**数值越小,优先级越高。**抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队。

  • 中断号(Interrupt N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值