CoOS使用教程——消息邮箱

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 02:24   11   0

消息邮箱是一种任务间通信的机制,用起来跟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,就是消息的指针,这里直接使用字符串就可以了。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP