UcosIII信号量初始值为0,但是任务第一次能pend到 50
ucosIII创建了一个信号量,初始值,create的时候信号量初始值是0,在本任务中创建,创建结束,调用一个函数,该函数进行pend该信号量,但是发现第一次pend的时...
ucosIII创建了一个信号量,初始值,create的时候信号量初始值是0,在本任务中创建,创建结束,调用一个函数,该函数进行pend该信号量,但是发现第一次pend的时候可以成功pend到,err也是0,但是整个工程,没有一个post该信号量的地方。为什么会出现这种情况
OS_SEM Uart_SEM;
OSSemCreate(&Uart_SEM,"uart_rec_sem",0,&err); //err返回值是success
OSSemPend(&Uart_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);//按道理应该一直等待,实际上第一次pend成功返回了 展开
OS_SEM Uart_SEM;
OSSemCreate(&Uart_SEM,"uart_rec_sem",0,&err); //err返回值是success
OSSemPend(&Uart_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);//按道理应该一直等待,实际上第一次pend成功返回了 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询