加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

踩坑记录:32系列EXTI问题

2023/06/26
2583
阅读需 3 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在最近的一个项目中,用了多个外部中断线,刚开始并没有注意外部中断的个数,看资料认为所有 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 个外部中断,并且每个管脚的后缀不同。如果设计电路板没有考虑到这种情况,则需要根据实际情况把触发频繁的设置为外部中断,不频繁的通过检测管脚电平变化来判断是否有触发。

关注公众号,扫码加入嵌入式交流群:

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
CSTCR6M00G53Z-R0 1 Murata Manufacturing Co Ltd Ceramic Resonator, 6MHz Nom, ROHS AND REACH COMPLIANT, SMALL, CERAMIC, SMD, 3 PIN

ECAD模型

下载ECAD模型
$0.32 查看
ABS07-32.768KHZ-9-1-T 1 Abracon Corporation CRYSTAL 32.768KHZ 9PF SMD
$1.31 查看
NC7S00M5X 1 Fairchild Semiconductor Corporation NAND Gate, HC/UH Series, 1-Func, 2-Input, CMOS, PDSO5, 1.60 MM, MO-178, SOT-23, 5 PIN
$0.67 查看

相关推荐

电子产业图谱

TopSemic,让芯片使用更简单。 专注分享:嵌入式,单片机,STM32,ARM,RTOS,Linux, 软硬件,半导体,电子技术等相关内容。