stm32使用keil rtx,由于很多函数不能运行在中断里面,但是由于有很多嵌套调用。搞不清楚一个函数到底是不是到底是运行在中断里面。所以想请教一下是不是有没有方法判断当前运行代码是否在中断里面。
像这样使用
if(in_interrupt())
{
some isr function // which can run in interrupt
}else
{
some os api // which can not run in inerrrupt
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
楼主好好读读那些经典rtos的代码就明白我说的是什么意思了,7楼已经说了
inline int in_isr()
// int in_isr(void)
{
volatile int tmp=0;
__asm
{
MRS tmp,IPSR ///读取CPSR的值
}
return tmp&0x1f;
}
一周热门 更多>