STM32系列微控制器外部中断详解

在最近的一个项目中,用了多个外部中断线,刚开始并没有注意外部中断的个数,看资料认为所有 10 口都可以配置为中断,然后原理图就直接连接 6 根外部中断。
后来发现,pa0、pb0、pc0 这些共用一个外部中断线,注意是共用,根本就不能同时存在,同一时间只能有一个中断使用这个中断线,初始化的时候,谁是最后初始化的,那么这根中断线就分配给了谁。希望大家今后不要出现我这种错误。
这是我的引脚分配:但最终有效的中断的是 butt3、butt4、butt5,而 butt1、butt2 中断无效。
以下是资料截图摘自《n32l40x 系列于 基于 32 位 位 arm cortex-m4f 微控制器 用户手册 v2.0》,后经查证 stm32 系列也是同样的问题。
ext10-4 中断是这样的,每个中断有一个外部中断线。
ext19_5 和 ext110_15 中断也是那样,只不过是共用的中断函数,而不是共用一个中断线,这可以中断之后查询是哪根线触发了。
当然,如果工程师明确知道 pa0 和 pb0 不会同时触发,并目触发有相互依赖关系,可以通过分时设置 pa0 和 pb0 的外部中断功能。但在大多数情况下,外部中断的触发都是随机的,那么在设计原理图的时候就要考虑到这种情况,把用到的外部中断管脚设置到后缀不同的管脚上,例如 pa0、pa1、pb3、pc8…pd12、pf16,在一个工程中最多能使用 16 个外部中断,并且每个管脚的后缀不同。如果设计电路板没有考虑到这种情况,则需要根据实际情况把触发频繁的设置为外部中断,不频繁的通过检测管脚电平变化来判断是否有触发。


防爆空调控制器的调试方法分享
PCIM Asia 2022国际研讨会
部署物联网的步骤是怎样的
关于MATLAB数据建模常用方法分享和介绍
电视液晶面板价格创1年半新高
STM32系列微控制器外部中断详解
显卡八爪鱼MOS管详解
光纤防尘有何意义?如何做到更有效的光纤防尘?
携手同心,共创未来 | 航智第一期员工股权激励签约仪式圆满举行
蚀刻生产线维护及注意事项
iPhone15新款手机壳曝光 iPhone15编织工艺保护壳
戴尔科技的云平台即将迎来多项更新
32.768K贴片晶振选型,看了不后悔
5G引领新基建,创新改变生活
ETAS和曦华科技蓝鲸MCU成功完成AUTOSAR适配
微雪电子树莓派3代B+套餐F7寸超清屏一体机简介
全光谱灯和普通LED灯的区别?
边缘物联网的七大特征分别是怎样的
浅谈物联网成熟的三个阶段
HNYJ-I绝缘油介电强度测试仪(单杯I)