新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于μC/OS-Ⅲ的多任務間郵箱機制分析與應用

基于μC/OS-Ⅲ的多任務間郵箱機制分析與應用

作者: 時間:2013-06-14 來源:網(wǎng)絡 收藏

3 的靈活
3
1 用作為二值信號量
可以當作二值信號量用,郵箱中有消息表示資源可以使用,而空郵箱表示資源已經(jīng)被其他資源占用。首先,在初始化時將郵箱設置為一個非空指針(eg.void*1),這樣,一個可以調用OSMboxPend()函數(shù)請求信號量,然后通過調用OSMboxPost()函數(shù)釋放信號量。若只需要二值信號量和郵箱,采用這種方法可以節(jié)省代碼空間。此時,需將OS_MBOX_EN置1,而將OS_SEM_EN清0,即只用郵箱,而不是同時使用郵箱和信號量。同樣,給出了一個郵箱傳遞二值信號量的簡單示例。
e.JPG
3.2 郵箱實現(xiàn)延時,而不使用OSTimeDly()
郵箱的超時等待功能可以用作延時,模仿TimeDly()函數(shù)功能。示例代碼如下:
f.JPG
g.JPG
在程序執(zhí)行過程中,若在指定的時間TIMEOUT內沒有消息到來,則TaskC繼續(xù)執(zhí)行,這顯然與OSTimeDly(TIMEOUT)功能類似;但是,如果TaskD在指定的時間結束之前,向郵箱發(fā)送一個dummy消息,則可以中止1中的延時,使TaskC提前繼續(xù)執(zhí)行,這與調用函數(shù)OSTimeDly Res ume()的功能一致。

4 結語
本文嵌入式操作系統(tǒng)μC/Ⅲ探討了郵箱在間通信中的方法及注意事項,了各郵箱函數(shù)的關系及使能/屏蔽方法,并給出示例實現(xiàn)2個任務的全雙工通信;在此基礎上,還研究了郵箱在二值信號量和延時功能中的靈活,并給出實例代碼驗證,這在嵌入式系統(tǒng)開發(fā)過程中有一定的參考價值。

本文引用地址:http://butianyuan.cn/article/153463.htm

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉