uCOS-II的中断嵌套.........
在uCOS-II的中断服务子程序中,中断的嵌套将出现在“OSIntEnter()”和
“OSIntExit()”之间。假设中断嵌套为3层深度。即OSIntNesting=3,在第三层中中断服
务让一个优先级最高的任务task3准备就绪。根据中断退出函数OSIntExit()的描写,不退
出三层中断即OSIntNesting=0,任务将不能运行了?
因为:void OSIntExit(void)
{
OS_ENTER_CRITICAL( ); //关闭中断
if(( --OSIntNesting | OSLockNesting ) == 0) (1)
{
.........
.........
}
OS_EXIT_CRITICAL( ); //开启中断
}
在这个函数的内部(1)处有这个条件。如果是这样,对于中断处理数据(采用中断服
务内让数据处理任务准备就绪的方法),同时有假设别的多个中断出现,这样的话,数据处
理的实时性将会降哟?
发表时间:2002年11月5日9:09:00