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);后面的程序還會執行,它不會堵塞嗎?
|