|
我用的是μCOS-III+STemWin+FatFs+Lwip+UIP+USB综合程序V1.2d,ucos-iii没有更改过,任务创建等都没有修改过,在AppTaskUserIF通过OSTaskQPost()发送按键消息到AppTaskGUI,按下按键KEY_1_DOWN就发送KEY_1_DOWN的值过去,按下KEY_2_DOWN就发送KEY_2_DOWN的值过去,在线仿真的时候,发现AppTaskGUI里面*p_Msg 有时候是0,有时候是对的就是是KEY_1_DOWN或者KEY_2_DOWN的值,这是什么原因呢?
AppTaskGUI里面接收按键消息代码如下:
void MainTask(void)
{
uint8_t * p_Msg = NULL;
...
while(1)
{
p_msg = OSTaskQPend(10,
OS_OPT_PEND_BLOCKING,
&msg_size,
&ts,
&err);
if(p_Msg != NULL)
{
switch(*p_Msg)
{ ... }
}
}
} |
|