STM32
直播中

恩可口

9年用户 780经验值
私信 关注
[问答]

OSSemPend有时不成功的原因?

在学些uCOSIII,最近写了个简单测试程序,简单创建了个任务, 在任务中等待信号量:while(1)
{
      OSSemPend( TestSem, 0, OS_OPT_PEND_BLOCKING, NULL,  err);
      TeseNum ++;
}

在中断中Post信号量:
OSSemPost( TestSem, OS_OPT_POST_NO_SCHED,  err);

周期大约20ms左右,测试过程中,发现正常运行一段时间后,任务再也无法Pend成功。

哪位大侠遇见过这种情况,求指点迷津!!!

信号量创建为:
OSSemCreate( UsartOneDmaRecDoneSem, "URT one dma rec done", 0,  err);


回帖(1)

李燕

2024-5-11 09:28:27
在中断中处理不合适,可能是无法释放导致的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分