发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表
打印
[APM32F0]

APM32F003 一直触发NMI中断

[复制链接]
1356|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Peixu|  楼主 | 2024-4-8 11:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Peixu 于 2024-4-8 11:21 编辑

#申请原创# @21小跑堂

问题:APM32F003F6P6 PC3配置成外部中断口,下拉触发之后没有进入EINTC_IRQHandler外部中断函数,反而一直触发NMI中断。


问题分析:之前使用的时候配置过选项字节AFR3,导致将PC3配置为不可屏蔽中断了,所以会一直进NMI中断。
003的引脚重定义方式与其他系列有区别,需要在选项字节中配置复用功能。
需注意重定义配置在选项字节中,擦除flash不会擦除
重定义后的引脚功能就只能用重定义的功能,
要换回默认功能也要选项字节中配置失能。
解决方案:将选项字节AFR3 DISABLE之后重新烧录可以正常使用,进去到PC3中断。




NMI不可屏蔽中断这个是用来干嘛的?
NMI(Non-Maskable Interrupt,不可屏蔽中断)是一种特殊类型的中断,其优先级高于普通的可屏蔽中断,并且无法被通过中断屏蔽位(Interrupt Mask)来屏蔽或禁用。如__disable_irq();//关闭全局中断后,如果某个外设中断设置为不可屏蔽中断,则该中断依然可以响应,不受系统中断开关的影响,NMI 通常用于处理一些非常紧急和重要的系统事件,即使系统处于某种异常或故障状态,也需要被及时处理。
NMI不可屏蔽中断的应用场景:
  • 硬件故障处理:NMI通常用于处理硬件故障,例如内存错误、总线错误、电源故障等。当这些硬件故障发生时,系统需要立即响应以避免严重的后果。
  • 监控和诊断:NMI可以用于监控和诊断系统状态。例如,系统监控器可以通过NMI来收集关键的性能数据或者系统状态信息,以便在必要时进行诊断和分析。
  • 系统安全:NMI可以用于处理与系统安全相关的事件,如内存溢出、非法访问尝试等。这样的事件可能会威胁到系统的安全性,需要立即采取措施来应对。
  • 实时系统:在实时系统中,NMI可以用于处理与实时性相关的事件,例如定时器溢出。这些事件需要在严格的时间约束内得到处理,以确保系统能够按时响应。
  • 紧急情况处理:在某些情况下,系统可能会遇到需要立即处理的紧急情况,例如自毁程序的检测、火灾报警等。NMI可以用于处理这些紧急情况,确保系统能够及时采取行动。

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 30.00 元 2024-04-10
理由:恭喜通过原创审核!期待您更多的原创作品~

评论
21小跑堂 2024-4-10 10:16 回复TA
APM32F003F6P6 PC3频繁触发NMI中断的问题探讨 
沙发
xionghaoyun| | 2024-4-11 16:53 | 只看该作者
学习了

使用特权

评论回复
板凳
OKAKAKO| | 2024-4-15 20:02 | 只看该作者
NMI不可屏蔽中断确实很实用

使用特权

评论回复
地板
szt1993| | 2024-4-16 19:54 | 只看该作者
用的时候配置过选项字节AFR3,导致将PC3配置为不可屏蔽中断了,所以会一直进NMI中断

使用特权

评论回复
发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

37

帖子

0

粉丝