来源:转载自21ic论坛极海半导体专区
问题: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可以用于处理这些紧急情况,确保系统能够及时采取行动。
注:文章作者在原帖中提供了例程文件,有需要请至原文21ic论坛下载
原文地址:https://bbs.21ic.com/icview-3370228-1-1.html
-
中断
+关注
关注
5文章
906浏览量
42905 -
定时器
+关注
关注
23文章
3302浏览量
119374 -
引脚
+关注
关注
16文章
1776浏览量
53157 -
NMI
+关注
关注
0文章
8浏览量
10027
原文标题:APM32芯得 EP.54 | APM32F003 一直触发NMI中断
文章出处:【微信号:geehysemi,微信公众号:Geehy极海半导体】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
用apm32f003替换STM32进行低成本系统开发

基于J-Link解除APM32F003读保护
APM32F003F6P6_NVIC_能否通过VTOR寄存器实现中断向量重定位

极海APM32F407工业HMI应用方案助您增强交互体验

极海APM32F003 MCU通过IEC 60730/60335功能安全认证

评论