<dd id="8w2xv"><big id="8w2xv"></big></dd>
<th id="8w2xv"><track id="8w2xv"></track></th>
<ol id="8w2xv"><object id="8w2xv"></object></ol>
    1. <button id="8w2xv"><object id="8w2xv"></object></button>
      • IIANews微官網
        掃描二維碼 進入微官網
        IIANews微信
        掃描二維碼 關注微信
        移動客戶端
      • English
      2023全景工博會
      嵌入式系統

      MCU硬件延時和軟件延時有什么區別?

        2021年06月23日  

      圖片源于網絡

        在嵌入式項目中,軟件開發基本上都會使用到延時,那么,該用軟件延時還是硬件延時?它們又有什么區別呢?

      硬件和軟件延時

        延時的種類很多,先給大家普及一下延時相關概念和分類。

      1.硬件延時

        指利用具有計數功能的硬件進行延時。比如:定時器(Timer)、 實時時鐘(RTC)、 系統滴答定時器(SysTick)等具有計數功能的硬件。

      2.軟件延時

        相對硬件延時而言,軟件延時就是寫一段軟件代碼,通過消耗CPU時間進行延時。比如軟件延時函數:

      阻塞和非阻塞延時

        實際應用中,延時分阻塞和非阻塞延時。

      1.阻塞延時

        指CPU一直停留阻塞,不去做其它事情,直到延時結束結束。像上面那個軟件延時(Delay)就是一個典型的阻塞延時,一直消耗CPU,直到延時結束。

      2.非阻塞延時

        指在延時期間,沒有阻塞CPU,也就是說CPU在延時期間可以執行其它代碼。比如:利用定時器中斷延時,只需要開啟定時器,在中斷(計數)到來之前,CPU可以執行其它代碼。

      3.額外舉例

        a.利用定時器也能實現阻塞延時,比如STM32的HAL自帶的阻塞延時:

        b.利用RTOS自帶的系統延時實現非阻塞延時,這個實現原理實際是利用了硬件延時(系統滴答定時器)。

        當然,這個延時的原理(延時函數代碼)相對比較復雜,對于普通用戶只需要知道如何調用以及簡單原理即可。通常在一些RTOS的(Demo)例子的任務中都有系統延時,比如ucos非阻塞延時:

        再比如FreeRTOS非阻塞延時:

      硬件和軟件延時區別

        通過以上分析,其實不難得出,硬件延時相對軟件延時更普遍。

        1.軟件相對硬件延時精度更差;
        2.軟件延時為阻塞延時,硬件延時可阻塞,也可非阻賽延時;
        3.硬件延時應用更靈活、更廣泛;

        實際應用中,硬件延時、非阻塞延時相對更普遍。

      標簽:嵌入式  MCU  我要反饋
      最新視頻
      屈賢明:制造強基 智能引領 澎湃制造產業新動能   
      Elmo助力草莓采摘機器人實現精準、高效自動化采摘   
      參與ABB電機與發電機拼圖挑戰賽贏取探廠等好禮,快來挑戰!
      劍維軟件-重構傳統人機界面(HMI)
      Fluke ii900系列聲學成像儀全新升級
      西克
      大族機器人
      專題報道
      2023全景工博會
      2023全景工博會 2023年9月19日-23日,第二十三屆中國國際工業博覽會將于國家會展中心(上海)隆重舉行。本屆工博會將以“碳循新工業、數聚新經濟”為主題,為四海賓朋構筑新橋梁,為全球展商打造新盛會。
      企業通訊
      話“魏”來 - 數字化:從自動化的現實到智能化的未來
      話“魏”來 - 數字化:從自動化的現實到智能化的未來

      如果您所在的企業正面臨數字化轉型,如果您對數字化轉型還有不解和困惑,那一定不要錯過本期話“魏“來節目,TA或將為您開啟一

      新能源行業中的電學測試與校準應用
      新能源行業中的電學測試與校準應用

      “雙碳”戰略是當前國內新能源行業的風向標,帶動了光伏、風電、水電等需求的長期展望樂觀和需求逐年攀升。在此需求下,企業運行

      在線會議
      熱門標簽

      社區