事件之消息邮箱

1.什么是消息邮箱

在多任务操作系统中,常常需要在任务与任务之间通过传递一个数据(这种数据叫做“消息”)的方式来进行通信。为了达到这个目的,可以在内存中创建一个存储空间作为该数据的缓冲区。如果把这个缓冲区称之为消息缓冲区,这样在任务间传递数据(消息)的最简单办法就是传递消息缓冲区的指针。我们把用来传递消息缓冲区指针的数据结构叫做邮箱(消息邮箱)。

2.消息邮箱的操作

①声明一个邮箱指针

OS_EVENT * box_key;            //邮箱事件块指针

②创建消息邮箱

box_key=OSMboxCreate((void*)0);       这里参数为(void*)0 表示创建一个空的消息邮箱,指向NULL;

③发送消息

OSMboxPost(box_key,(void*)key);  其中key值为要发送的数据,box_key则为消息邮箱指针

④请求(接收)消息

key=(u32)OSMboxPend(box_key,0,&err);    其中key值为接收到的消息邮箱数据,box_key为消息邮箱指针,0表示无限等待


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值