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

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    //存放状态信息的结构

);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值