e.g:
void TaskSetup(void *pdata)
{
#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
OS_CPU_SR cpu_sr;
#endif
INT8U err;
pdata = pdata; /* Prevent compiler warning */
for (;;)
{
OSSemPend(pSetup_Event,0,&err); //等待Setup包
if (err == OS_NO_ERR){ //接收到Setup包
OS_ENTER_CRITICAL(); //关中断
control_handler(); //进行控制传输处理
OS_EXIT_CRITICAL(); //开中断
}
}
}
note:
TaskSetup里的pdata是用来传递参数的,定义了却没有使用,编译器觉得你是不是忘记了,会警告你一下。为了避免警告,写那么一个式子,把编译器骗过去