最近往ARM9上移植了ucos-ii,发现一个怪的问题。
移植完成后,只创建两个任务,统计任务和空任务。
OSTaskIdle()中如果写成这样
for (;;) {
//OS_ENTER_CRITICAL();
OSIdleCtr++;
//OS_EXIT_CRITICAL();
//OSTaskIdleHook();
}
正常调试运行
写成这样
for (;;) {
OS_ENTER_CRITICAL();
OSIdleCtr++;
OS_EXIT_CRITICAL();
OSTaskIdleHook(); //空函数
}
就不行了
写成这样
for (;;) {
OS_ENTER_CRITICAL();
OSIdleCtr++;
OS_EXIT_CRITICAL();
OSTaskIdleHook(); //里面调用 puts("c");/*这里随便输出到串口一个字符就行*/
}
又可以了
高手帮忙分析下原因,感激涕泠