005_消息队列

(一)定义消息队列

////////////////////////消息队列//////////////////////////////
#define DATAMSG_Q_NUM    4    //发送数据的消息队列的数量
OS_Q DATA_Msg;                //定义一个消息队列,用于发送数据

(二)创建消息队列

//创建消息队列DATA_Msg
    OSQCreate ((OS_Q*        )&DATA_Msg,            //消息队列
                (CPU_CHAR*    )"DATA Msg",        //消息队列名称
                (OS_MSG_QTY    )DATAMSG_Q_NUM,        //消息队列长度
                (OS_ERR*    )&err);                //错误码

(三)发送消息队列

        //发送消息
        OSQPost((OS_Q*        )&DATA_Msg,            //哪个消息队列
                (void*        )pbuf,                //发送的数组
                (OS_MSG_SIZE)10,                //长度
                (OS_OPT        )OS_OPT_POST_FIFO,  //选项:先进先出

(四)接收消息队列

        //请求消息
        p=OSQPend((OS_Q*        )&DATA_Msg,   
                  (OS_TICK        )0,
                  (OS_OPT        )OS_OPT_PEND_BLOCKING,
                  (OS_MSG_SIZE*    )&size,    
                  (CPU_TS*        )0,
                  (OS_ERR*        )&err);

 

原文地址:https://www.cnblogs.com/luxiaoguogege/p/10159876.html