[求助] 通过信号量来调度任务的问题

yuqiang   2016-8-10 17:02 楼主
各位好,这里有个问题想请教下大家。

是这样的,在工程中创建了3个任务,任务的执行顺序是通过信号量来控制的。

大致框架如下:
  1. void tskFxn0()
  2. {
  3.     for(;;)
  4.     {
  5.          ...
  6.          Semaphore_post(sem_fxn1);
  7.          ...
  8.     }
  9. }

  10. void tskFxn1()
  11. {
  12.     for(;;)
  13.     {
  14.          ...
  15.          Semaphore_pend(sem_fxn1, BIOS_WAIT_FOREVER);
  16.          ...
  17.          Semaphore_post(sem_fxn2);
  18.          ...
  19.     }
  20. }

  21. void tskFxn2()
  22. {
  23.     for(;;)
  24.     {
  25.          ...
  26.          Semaphore_pend(sem_fxn2, BIOS_WAIT_FOREVER);
  27.          ...
  28.     }
  29. }
其中tskFxn0优先级最低,其他两个任务优先级一样。

问题就是:程序会一直在tskFxn0中,一直post信号,其他任务不能得到信号

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复