您的位置:首页 > 其它

消息队列及其操作_读书笔记_8

2016-10-10 00:03 190 查看
4.5消息队列及其操作

4.5.1消息队列

(1)使用消息队列可在任务之间传递多条消息。

(2)消息队列由三部分组成:事件控制块、消息队列和消息。

1.消息指针数组

(1)消息队列的核心是消息数组指针。

(2) 消息队列主要参数:



2.队列控制块

(1)为了对消息指针数组进行有效的管理,ucos-II把消息指针数组的基本参数都记录在一个叫做队列控制块的结构中。

 

4.5.2消息队列的操作

1.创建消息队列

(1)调用函数:OSQCreate()

原型:OS_EVENT OSCreate(

                       void *start,    //指针数组地址

                       INT16U size    //数组长度

)

2.请求消息队列

(1)OSQPend(

          OS_EVENT *pevent,    //所请求消息队列的指针

          INT16U timeout,       //等待时限

          INT8U * err           //错误信息

)

(2)函数返回值为消息指针。

(3)pevent: 要访问的消息队列事件控制块的指针。

3.向消息队列发送消息

(1)函数原型:

INT8U OSQPost(

             OS_EVENT * pevent,    //消息队列的指针

             void *msg             //消息指针

);

4.清空消息队列

INT8U OSQFlush(

              OS_EVENT * pevent    //消息队列指针

)

5.删除消息队列

OS_EVENT * OSQDel(

                 OS_EVENT * pevent    //消息队列指针

)

6.查询消息队列

INT8U OSQQuery(

               OS_EVENT * pevent,    //消息队列指针

               OS_Q_DATA * pdata    //存放状态信息的结构

);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: