新闻中心

EEPW首页>手机与无线通信>设计应用> 基于μC/OS-Ⅲ的多任务间邮箱机制分析与应用

基于μC/OS-Ⅲ的多任务间邮箱机制分析与应用

作者: 时间:2013-06-14 来源:网络 收藏

3的灵活
3
1 用作为二值信号量
可以当作二值信号量用,邮箱中有消息表示资源可以使用,而空邮箱表示资源已经被其他资源占用。首先,在初始化时将邮箱设置为一个非空指针(eg.void*1),这样,一个可以调用OSMboxPend()函数请求信号量,然后通过调用OSMboxPost()函数释放信号量。若只需要二值信号量和邮箱,采用这种方法可以节省代码空间。此时,需将OS_MBOX_EN置1,而将OS_SEM_EN清0,即只用邮箱,而不是同时使用邮箱和信号量。同样,给出了一个邮箱传递二值信号量的简单示例。
e.JPG
3.2 邮箱实现延时,而不使用OSTimeDly()
邮箱的超时等待功能可以用作延时,模仿TimeDly()函数功能。示例代码如下:
f.JPG
g.JPG
在程序执行过程中,若在指定的时间TIMEOUT内没有消息到来,则TaskC继续执行,这显然与OSTimeDly(TIMEOUT)功能类似;但是,如果TaskD在指定的时间结束之前,向邮箱发送一个dummy消息,则可以中止1中的延时,使TaskC提前继续执行,这与调用函数OSTimeDly Res ume()的功能一致。

4 结语
本文嵌入式操作系统μC/Ⅲ探讨了邮箱在间通信中的方法及注意事项,了各邮箱函数的关系及使能/屏蔽方法,并给出示例实现2个任务的全双工通信;在此基础上,还研究了邮箱在二值信号量和延时功能中的灵活,并给出实例代码验证,这在嵌入式系统开发过程中有一定的参考价值。

本文引用地址://m.amcfsurvey.com/article/153463.htm

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭