国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

注冊機制與消息機制-嵌入式微系統(tǒng)連載之七

發(fā)布時間:2016-3-1 09:30    發(fā)布者:designapp
  注冊機制在嵌入式編程中很少提到,但回調(diào)函數(shù)大家經(jīng)常接觸,以軟件定時器為例:
  


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


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


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

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

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本精品视频一区二区三区 | 欧美精品一区二区久久 | 国内精品久久久久久久影视麻豆 | 青青青久热国产精品视频 | 日本不卡三级 | 国产日韩高清一区二区三区 | 欧美日韩高清观看一区二区 | 四虎影视站长工具 | 国产91免费在线观看 | 亚洲最大黄色网站 | 两个人在线观看免费下载 | 91大神在线观看精品一区 | 中文精品99久久国产 | 六月丁香激情 | 免费看一区二区三区 | 毛片资源站 | 99在线视频免费观看 | 成人亚州 | 亚洲91av| 亚洲国内精品久久 | 国产精品素人搭讪在线播放 | 日本久久中文字幕 | 国产精品久久一区一区 | 91婷婷 | 日韩大片在线 | 中文字幕第四页 | 天天操夜夜操美女 | 日本久久网 | www.九九热 | 4hu永久影院在线四虎 | 三级国产精品一区二区 | 91av国产视频 | 国产精品久热 | 国产午夜精品免费一二区 | 四虎影视在线永久免费观看 | 日韩免费一级a毛片在线播放一级 | 日韩在线第一区 | 国产自产第一区c国产 | 国内久久 | 青青草伊人网 | 久久青青草原精品国产麻豆 |