ucos_II之消息队列

各位好:
最近在学习ucos_II系统,在学习消息队列的时候写了以下代码,但是输出的结果第一条和我想象的不一样,不知道为什么,请大家帮忙看看。
代码如下`
void MainTask(void pdata)
{
pdata = pdata;
OSStatInit();
OSTaskCreate(App1Task,(void
)0,&App1TaskStk[TASK_STK_SIZE-1],APP1_TASK_PRIO);
OSTaskCreate(App2Task,(void*)0,&App2TaskStk[TASK_STK_SIZE-1],APP2_TASK_PRIO);
while(1)
{
if(OSTimeGet()>100 && OSTimeGet()<500)
{
printf(“1 %d\n”,OSTimeGet());
S100 = “The value of OSTime is from 100 to 500!”;
OSQPostFront(PQ,S100);
printf(“2\n”);
S = “The String belongs to which task?”;
OSQPostFront(PQ,S);
}
if(OSTimeGet()>1000 && OSTimeGet()<1500)
{
printf(“3\n”);
S500 = “The value of OSTime is from 1000 to 1500!”;
OSQPostFront(PQ,S500);
}
OSTimeDlyHMSM(0,0,1,0);
}
}

void App1Task(void *pdata)
{
pdata = pdata;
while(1)
{
printf(“App1 %s %d\n”,OSQPend(PQ,0,&err),OSTimeGet());
OSTimeDly(100);
}
}

void App2Task(void *pdata)
{
pdata = pdata;
while(1)
{
printf(“App2 %s %d\n”,OSQPend(PQ,0,&err),OSTimeGet());
OSTimeDly(100);
}
}
解果
在这里插入图片描述
`第一条输出为啥不是LIFO的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值