CoOS使用教程——消息邮箱

本文介绍了CoOS系统中的消息邮箱机制,包括创建、接收和发送消息的基本操作,并解释了如何利用互斥量确保消息处理的安全性。

消息邮箱是一种任务间通信的机制,用起来跟QQ、163的邮箱差不多。

但是CoOS下的消息邮箱只能存放一条消息,是临界资源,所以我这里用了互斥量,以免出错。



最终效果如下图所示:


1、CoCreateMbox(),创建一个消息邮箱。

OS_EventID CoCreateMbox(U8 sortType);

sortType是在多任务中,使用多个消息邮箱时候,内核需要对个消息邮箱进行排序,设为EVENT_SORT_TYPE_FIFO,就是先来先服务;设为EVENT_SORT_TYPE_PRIO,就是按照优先级服务。

2、CoPendMail(),接收邮箱里的消息。

void* CoPendMail(OS_EventID id,U32 timeout,StatusType* perr);

timeout,等待消息的时限。

perr,返回的错误信息。因为C语言的函数无法返回多个变量,所以这里用了指针返回错误信息。

3、CoPostMail(),发送消息到邮箱里面。

StatusType CoPostMail(OS_EventID id,void* pmail);

pmail,就是消息的指针,这里直接使用字符串就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值