• <rp id="1zv9b"><meter id="1zv9b"></meter></rp>

  • <source id="1zv9b"><menu id="1zv9b"></menu></source>

  • <tt id="1zv9b"><form id="1zv9b"></form></tt>
    • IIANews微官網
      掃描二維碼 進入微官網
      IIANews微信
      掃描二維碼 關注微信
      移動客戶端
    • English
    2021 OEM
    嵌入式系統

    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  我要反饋
    最新視頻
    極智嘉攜手九州通共鑄醫藥智慧物流新高度   
    ABB《精誠合作說》第二期——長白山集團   
    世強
    施耐德電氣PCB盤古
    魏德米勒聯接咨詢服務
    專題報道
    《建筑是凝固的音樂》ABB電氣系列大片上映
    《建筑是凝固的音樂》ABB電氣系列大片上映 ABB 網羅了遍布全球的創新建筑案例,通過精心制作的《建筑是凝固的音樂》系列視頻,向大家揭秘世界上一些獨特建筑及其建筑師的幕后故事,帶領大家一起領略那些歷久彌新、永不過時的建筑設計和解決方案。
    企業通訊
    2021 OEM機械設計技術研討會-云會議
    2021 OEM機械設計技術研討會-云會議

    “2021OEM機械設計技術研討會”以“縱深推進?多維賦能 數字化重塑設備制造”為主題, 邀請多家知名企業與來自紡織機械

    帶訪問授權管理的安全門解決方案
    帶訪問授權管理的安全門解決方案

    對于制造型的企業來說,生產環境中總有需要保護的區域,來避免造成傷害事故。我們知道,當設備運行時,保護人員免受機器的傷害很

    在線會議

    社區

    国际工业自动化网 徐水县| 柘城县| 宜兴市| 乌兰浩特市| 武威市| 信阳市| 百色市| 张掖市| 湘阴县| 名山县| 临夏市| 吐鲁番市| 昌图县| 准格尔旗| 宜兴市| 略阳县| 乐昌市| 桐柏县| 阿荣旗| 巴青县| 曲阜市| 游戏| 凭祥市| 台南县| 监利县| 申扎县| 宕昌县| 曲麻莱县| 东城区| 襄汾县| 和龙市| 吉水县| 阳新县| 沂南县| 谷城县| 屏南县| 鄱阳县| 同江市| 阿瓦提县| 正安县| 阿坝县| http://9191g.com http://chuangxinic.com http://453771.com http://www.transcrear.com http://arkbiologicals.com http://www.8429348.com