小书明-2042808 发表于 2014-2-27 15:47:31

【ST MCU实战经验】进入了已屏蔽的中断

某客户工程师在某型号新产品的设计中,使用了STM32F103XXT6。据其工程师讲述:他们在设计中,使用了一个外部中断,用来检测某事件的发生,从而唤醒低功耗模式下的 STM32。对应于该中断输入,有一中断服务程序,内容如表(一)所示。在实测中发现偶尔会发生在有该外部中断输入时 STM32 并未回到正常的运行状态的情况。测量此时 STM32 的功耗,发现其功耗明显增大,说明已从低功耗唤醒。使用调试工具调试,发现当出现该现象时,程序停留在表(一)所示的中断服务程序中,不能退出。进一步跟踪,发现“行(1)”的判断不能通过。进入函数 EXTI_GetITStatus 进一步检查,发现该函数如表(二)。继续跟踪,发现“行(2)”的判断不能通过,而原因是上一行中的 EXTI-> IMR&EXTI_Line 值为‘0’,也就是该中断使能位没有被打开。讲述至此,其工程师一再重复着一句话“为什么中断使能位关闭了,还能进入中断服务程序…”。再三安慰不能使其平静,或许他真的崩溃了。
问题详细描述以及ST官方解答见文档:
ST MCU实战经验栏目,更多应用问题&官方解答,欢迎下载!

_ilikerome_ 发表于 2015-7-1 12:16:44

还有这种事情啊,下来看看

stary666 发表于 2015-7-4 00:34:36

看看,,,,,,,,,,,,

HenryChen 发表于 2016-5-26 15:37:08

学习。。。。。。。。。。。。。

keith527 发表于 2018-2-28 09:56:25

非常感谢
页: [1]
查看完整版本: 【ST MCU实战经验】进入了已屏蔽的中断