void data_task(void *pdata)
{
printf("start");
while(1)
{
OSSemPend(DATA_SEMP,0,&err);
OS_ENTER_CRITICAL();
STA=USART_DATA();
tim=0;
memset(code_buf,0x00,100);
OS_ENTER_CRITICAL();
OSSemPost(ACTION_SEMP);
printf("START");
OSTimeDlyHMSM(0,0,0,10);
}
}
DATA_SEMP信号量为零时,为什么OSSemPend(DATA_SEMP,0,&err);后面的程序还会执行,它不会堵塞吗?
|