• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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個任務的全雙工通信;在此基礎上,還研究了郵箱在二值信號量和延時功能中的靈活,并給出實例代碼驗證,這在嵌入式系統開發過程中有一定的參考價值。

    本文引用地址:http://www.czjhyjcfj.com/article/153463.htm

    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 师宗县| 基隆市| 苏尼特右旗| 房产| 屏东市| 庆元县| 读书| 莒南县| 桐庐县| 永宁县| 同仁县| 崇明县| 浦县| 尼勒克县| 舒兰市| 田林县| 和硕县| 辽阳市| 板桥市| 瑞安市| 蓬安县| 讷河市| 朝阳市| 富源县| 大理市| 巨鹿县| 芷江| 金湖县| 石景山区| 额济纳旗| 德令哈市| 乐亭县| 九江县| 静海县| 新兴县| 蓬溪县| 绥德县| 襄城县| 额尔古纳市| 城固县| 桐柏县|