唉,昨天问的问题还没解决,今天调试的时候又遇到了更棘手的问题:程序总是在osal_start_system()这个操作系统函数里循环,即下面的函数段
do {
if (tasksEvents[idx]) // Task is highest priority that is ready.
{
break;
}
} while (++idx < tasksCnt);
中的tasksEvents[idx]总为0,说明没有事件触发消息传递到tasksEvents[idx]中来,程序检测不到事件的发生,无法运行任务处理函数。请问诸位专家这是为什么呢?该怎么解决呢?
WZ:
是的,这就说明你没有任务需要运行,一直在IDLE循环里。
WZ:
是的,这就说明你没有任务需要运行,一直在IDLE循环里。
Alex Abraham:
回复 WZ:
osal_set_event 或者 osal_start_timerEx