新聞中心

        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.104case.com/article/153463.htm

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 寿宁县| 中宁县| 托克逊县| 桐城市| 天津市| 兴化市| 瓮安县| 乡宁县| 德安县| 五家渠市| 会同县| 临夏市| 迭部县| 佛冈县| 郑州市| 永吉县| 陈巴尔虎旗| 金沙县| 大埔县| 甘南县| 西宁市| 玛多县| 怀集县| 昔阳县| 临城县| 清镇市| 靖宇县| 遵义县| 黄浦区| 桓仁| 扶沟县| 临汾市| 平舆县| 兴仁县| 张家口市| 洞头县| 长岭县| 建德市| 杭锦后旗| 夏津县| 松阳县|