本帖最后由 liuchang 于 2016-6-13 23:26 编辑
小弟发现一个问题:
在OSTaskQPost(,,OS_MSG_SIZE msg_size,),其余的形参被我省略了,我发现这个形参没有丝毫作用啊.恳请大神指教下~~~
msg_size is the size of the message sent (in #bytes) //这个是源码给的注释
[mw_shl_code=c,true]if(TIM_GetITStatus(TIM5, TIM_IT_CC1) == SET)
{
TIM_ClearITPendingBit(TIM5, TIM_IT_CC1);
TIM5_Capture_Value++;
OSTaskQPost((OS_TCB *)&Samp_TaskTCB,
(void *)&TIM5_Capture_Value,
(OS_MSG_SIZE)1, //我之前认为这个参数是表示发送的每个消息的大小,按字节计算,可是我把这里改为0,我依然可以接收到正确的数据.
(OS_OPT )OS_OPT_POST_FIFO,
(OS_ERR *)&err);
}[/mw_shl_code]
[mw_shl_code=c,true]p_recieve = (u32 *)OSTaskQPend((OS_TICK )0,
(OS_OPT )OS_OPT_PEND_BLOCKING,
(OS_MSG_SIZE *)&size,
(CPU_TS *)NULL,
(OS_ERR *)&err);
printf("OSTaskQPend MSG size = %d\r\n", size); //总之这里的size就是和post中的size大小相同,但是似乎没有起到设置MSG的作用
printf("OSTaskQPend MSG data = %d\r\n", *p_recieve);[/mw_shl_code]
|