各位好,这里有个问题想请教下大家。
是这样的,在工程中创建了3个任务,任务的执行顺序是通过信号量来控制的。
大致框架如下:
void tskFxn0()
{
for(;;)
{
...
Semaphore_post(sem_fxn1);
...
}
}
void tskFxn1()
{
for(;;)
{
...
Semaphore_pend(sem_fxn1, BIOS_WAIT_FOREVER);
...
Semaphore_post(sem_fxn2);
...
}
}
void tskFxn2()
{
for(;;)
{
...
Semaphore_pend(sem_fxn2, BIOS_WAIT_FOREVER);
...
}
}
其中tskFxn0优先级最低,其他两个任务优先级一样。
问题就是:程序会一直在tskFxn0中,一直post信号,其他任务不能得到信号