stm32使用keil rtx,由于很多函数不能运行在中断里面,但是由于有很多嵌套调用。搞不清楚一个函数到底是不是到底是运行在中断里面。所以想请教一下是不是有没有方法判断当前运行代码是否在中断里面。
像这样使用
if(in_interrupt())
{
some isr function // which can run in interrupt
}else
{
some os api // which can not run in inerrrupt
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一般中断里面最好不要调用会有共享冲突的函数。
并尽可能快的退出中断。
我需要是否知道在任意一个中断里,不是单单一个中断。所以这不是很可行啊。
你可以去看下 RT-Thread 的 rt_interrupt_enter() 和 rt_interrupt_leave() 接口。
或者 ucos-iii 的 OSIntEnter() 和 OSIntExit() 接口。
一周热门 更多>