UCOS中OSQCreate创建消息队列,需要给消息队列分配一个缓存区数组,缓存区数组可否是任务内的局部变量?比如下面的这种方式。void HalPollTask(void *pdata)
{
INT8U err;
void *HalCbBuf[HAL_CB_CNT];
void (*func)(void);
HalCbQ = OSQCreate(&HalCbBuf[0],HAL_CB_CNT);
while(1)
{
func = (void(*)(void))OSQPend(HalCbQ,0,&err);
if(NULL != func)
{
func();
}
}
}
|