关于UCOSIII的消息队列问题

2019-07-20 19:39发布

                           pbuf1 = mymalloc(SRAMIN,12);        //申请12个字节
                          pbuf[0]=pitch;
                          pbuf[1]=roll;
                          pbuf[2]=yaw;
                          pbuf1=pbuf;
                          OSTaskQPost((OS_TCB*        )&Task3_TaskTCB,        //向任务task3发送消息
                          (void*                )pbuf1,
                          (OS_MSG_SIZE)12,
                          (OS_OPT                )OS_OPT_POST_FIFO,
                                              (OS_ERR*        )&err);
这句中pitch,yaw,roll;是三个角度,然后我想把它发送到TASK3去进行处理,这样可以吗;
还有  u8 *p;
        OS_MSG_SIZE size;
    OS_ERR err;
        CPU_SR_ALLOC();
        p_arg = p_arg;
         
        while(1)
        {
                //请求消息
                p=OSTaskQPend((OS_TICK                )0,
                      (OS_OPT                )OS_OPT_PEND_BLOCKING,
                      (OS_MSG_SIZE*        )&size,
                      (CPU_TS*                )0,
                      (OS_ERR*      )&err );
                LCD_ShowString(40,350,100,16,16,p);
                myfree(SRAMIN,p);        //释放内存
                OSTimeDlyHMSM(0,0,0,20,OS_OPT_TIME_PERIODIC,&err); //延时1s
        }        在任务3中我就不知道怎么把这三个数进行分离了,原子哥,跪求你的答复啊,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。