为什么UCOS的信号量已经有效了,而等待任务的信号量却不执行???
2个任务tsak1 优先级6
task2 优先级8
OS_EVENT* SEM1;
SEM1=OSSemCreate(0);
task1(void)
{
for(;;)
{
printf("task1 ruing \r\n");
OSSemPost(SEM1);
OSTimeDlyHMSM(0,0,0,600);
}
}
task2(void)
{
for(;;)
{
OSSemPend(SEM1,0,&err);
printf("task2 ruing \r\n");
OSTimeDlyHMSM(0,0,0,20);
}
}
task2 第一次执行了一次,然后始终没有执行,暂停查看OSEventCnt的值为123, 按理说这个信号量已经有效了,延时也是足够的,为什么task2得不到运行????
RE:为什么UCOS的信号量已经有效了,而等待任务的信号量却不执行???
你看一下是不是死到这个里面了.OSSemPend(SEM1,0,&err);
仔细看一下OSSemPend入口参数的说明.
页:
[1]