jlinkv8 发表于 2011-7-16 18:35

UCOS中断问题,再请教

打一个任务执行时候,被中断打断,进入ISR服务程序,在ISR服务程序末尾调用OSINTEXIt函数
voidosintexit(void)
{
......
    osintctxsw();
   }
...
OS_EXIT_CRITICAL();
...
}

在onintctxsw里面,进行高优先任务切换,这个时候,是先运行玩高优先级任务,再返回
OS_EXIT_CRITICAL()开中断,退出中断函数,还是先退出中断函数,再执行更高优先级任务?

john_lee 发表于 2011-7-16 21:17

先退出中断函数,再执行更高优先级任务

心静自然凉 发表于 2011-7-16 22:46

void OsIntExit(void)这个函数本身就是退出中断函数
也即不论是osintctxsw();或者OS_EXIT_CRITICAL();都是在退出中断时处理的

qinyu long 发表于 2011-8-11 23:38

建议:看看源码或邵贝贝那本书
页: [1]
查看完整版本: UCOS中断问题,再请教