消息邮箱及其操作_读书笔记_7

4.4消息邮箱及其操作

4.4.1消息邮箱

(1)任务与任务之间要传递数据,在存储器中建立一个数据缓冲区,将传递的的数据放到数据缓冲区,以此实现任务间的通信。

(2)消息邮箱是在两个需要通信的任务之间通过传递数据缓冲区指针的方法来通信的。

 

4.4.2消息邮箱的操作

1.创建消息邮箱

(1)调用函数:OSMboxCreate()

原型:

OS_EVENT *OSMoxCreate(

                      void * msg   //消息指针

)

(2)调用前需先定义msg的初始值(默认值为NULL);

2.向消息邮箱发送消息

(1)OSMboxPost(

              OS_EVENT * pevent,    //消息邮箱指针

              void * msg            //消息指针

);

(2)msg: 消息缓冲区指针,函数的返回值为错误号。

(3)OSMboxPost(

              OS_EVENT * pevent,    //消息邮箱指针

              void * msg,           //消息指针

              INT8U opt             //广播选项

)

(4)opt: 说明是否把消息向所有等待任务广播。

3.请求消息邮箱

(1)OSMboxPend(),查看邮箱指针是否为NULL。

(2)不为NULL,获取消息指针;否则任务进入等待状态,并引发一次任务调度。

4.查询邮箱的状态

(1)调用函数OSMboxQuery(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值