<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    注冊機制與消息機制-嵌入式微系統連載之七

    發布時間:2016-3-1 09:30    發布者:designapp
    關鍵詞: 嵌入式微系統 , 注冊機制 , ADC
      注冊機制在嵌入式編程中很少提到,但回調函數大家經常接觸,以軟件定時器為例:
      


      軟件定時器設備通過函數Start把FunctionCallback作為參數傳入定時器設備中保存,之后開啟定時器,延時1000ms之后,定時器就會直接調用FunctionCallback,所以這個FunctionCallback就叫做回調函數。類似處理器的中斷一樣。
      注冊機制類似回調函數性質,只是把概念擴展到變量,上層應用通過注冊函數地址或者變量地址到設備中保存,當設備中這個地址對應的函數被激活或者變量值有改變,就調用這個函數或者更改這個變量值,以此達到底層對上層的信息傳遞。
      以ADC設備為例,我們看一下注冊機制的應用。首先在ADC設備device_adc.c中定義一個用于注冊變量地址的指針數組RegisterPointerBlock,初始值必須要指向一個空變量,否則若指向了一些有用的地址而導致這個地址對應的數據改變,會引起不可預測問題。
      


      在設備中引入注冊機制,應用層只需要把變量的地址注冊到設備中,設備自己可以通過這個地址修改數據,這樣解放了應用層,讓應用層不需要關心如何獲取數據。但是,注冊機制也存在一些缺陷,那就是操作的數據,必須要原子操作,否則會導致兩個應用層與設備同時修改一個數據的異常存在,出現數據錯誤,這個是需要避免的。
      相對注冊機制,消息機制是大家所熟悉的一種底層向上層傳遞的方式,msOS采用uC/OS-II,標配為業務邏輯與菜單界面兩個任務,業務邏輯為高優先級,支持消息隊列,設備發送的消息,都在業務邏輯中處理。
      


      需要注意的是,msOS是采用的是uC/OS-II,它屬于RTOS,業務邏輯與菜單界面雖然是兩個獨立的任務,但并不是同時運行的,一個時刻只能運行一個任務,業務邏輯的任務優先級高于菜單界面,所以在沒有消息的時候,業務邏輯任務(LogicTask)在PendMessageQueue函數中掛起等待消息到來,這個時候退到菜單界面任務(MenuTask)執行,一旦按鍵設備檢測到按鍵并通過PostMessageToLogicTask發送消息,就會激活業務邏輯任務,讓業務邏輯任務搶占菜單界面任務運行。按鍵設備的運行是基于系統節拍的,它是在中斷中運行,優先級比任務高,不會被任務搶占。
                                   
                                                                   
                                   
                   
    本文地址:http://www.portaltwn.com/thread-161499-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷