Microchip
直播中

温洁

8年用户 200经验值
私信 关注
[问答]

是否有宏,内置函数或其他方式确定是否在ISR中执行?

在试图发现代码中的问题时,我想知道我当前所在的函数是否以某种方式从中断调用。因此,我们已经将_u FUNC.u作为参数传递,以确定调用方函数的名称。是否有类似于if(u INTERRUPT_)之类的东西可以用来查看我们是否是当前从ISR执行?顾及某人

回帖(2)

陈晨

2020-3-26 10:41:20
ISR向量到你的ISR处理程序,如果你有周期,你可以在那里设置一个标志。或者如果ISR被启用并且标志被设置,那么你必须在ISR中。
举报

陈迪

2020-3-26 11:09:40
...或者cpu frm甚至会有帮助,查看一些cp0宏_CP0_GET_VIEW_IPL()>>2的cp0defs.h可以获得当前的优先级,尽管您似乎只是想知道是否为0,所以如果(_CP0_GET_VIEW_IPL(){you_are_in_an_isr}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分