那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于硬件延時和軟件延時的內容以及它們的區別

Dp1040 ? 來源:嵌入式專欄 ? 2023-04-11 10:47 ? 次閱讀

單片機項目都會使用到延時,那么,該用軟件延時還是硬件延時?它們又有什么區別呢?

今天就來講講關于硬件延時和軟件延時的內容,以及它們的區別。

硬件和軟件延時

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

1.硬件延時 指利用具有計數功能的硬件進行延時。

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

2.軟件延時 相對硬件延時而言,軟件延時就是寫一段軟件代碼,通過消耗CPU時間進行延時。

比如軟件延時函數:


poYBAGQ0yluABPOCAAA186hoxPE380.jpg

阻塞和非阻塞延時

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

1.阻塞延時 指CPU一直停留阻塞,不去做其它事情,直到延時結束結束。

像上面那個軟件延時(Delay)就是一個典型的阻塞延時,一直消耗CPU,直到延時結束。

2.非阻塞延時 指在延時期間,沒有阻塞CPU,也就是說CPU在延時期間可以執行其它代碼。

比如:利用定時器中斷延時,只需要開啟定時器,在中斷(計數)到來之前,CPU可以執行其它代碼。

3.額外舉例

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

pYYBAGQ0ynKAKkZBAACLQB8Kawk864.jpg

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

當然,這個延時的原理(延時函數代碼)相對比較復雜,對于普通用戶只需要知道如何調用以及簡單原理即可,感興趣的老鐵可以自行研究一下。

通常在一些RTOS的(Demo)例子的任務中都有系統延時,比如ucos非阻塞延時:


OSTimeDly(10);

bda9bdd4-d811-11ed-bfe3-dac502259ad0.png??

再比如FreeRTOS非阻塞延時:


vTaskDelay(10); 

bdba08a6-d811-11ed-bfe3-dac502259ad0.png??

硬件和軟件延時區別

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

1.軟件相對硬件延時精度更差;

2.軟件延時為阻塞延時,硬件延時可阻塞,也可非阻賽延時;

3.硬件延時應用更靈活、更廣泛; ......

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





審核編輯::劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638564
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115371
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62396
  • RTC
    RTC
    +關注

    關注

    2

    文章

    543

    瀏覽量

    67030

原文標題:單片機中延時還有這么多講究?

文章出處:【微信號:玩點嵌入式,微信公眾號:玩點嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    揭秘:單片機硬件軟件延時之大不同!

    在嵌入式項目中,軟件開發基本上都會使用到延時,那么,該用軟件延時還是硬件延時
    的頭像 發表于 07-25 08:11 ?955次閱讀
    揭秘:單片機<b class='flag-5'>硬件</b>與<b class='flag-5'>軟件</b><b class='flag-5'>延時</b>之大不同!

    MSP430的軟件延時硬件延時

    MSP430的軟件延時硬件延時MSP430是超低功耗16位單片機,越來越受到電子工程師親睞并得到廣泛應用。C程序直觀,可讀性好,易于移植和維護,已被很多單片機編程人員所采用。MSP4
    發表于 07-31 17:59

    MCU硬件延時軟件延時之間的區別是什么

    MCU硬件延時軟件延時有什么區別?(閱讀原文)
    發表于 11-24 08:30

    請問MCU硬件延時軟件延時有什么區別

    在嵌入式項目中,軟件開發基本上都會使用到延時,那么,該用軟件延時還是硬件延時
    發表于 06-27 11:33

    51單片機延時函數計算問題以及如何準確延時的詳細資料說明

    本文檔的主要內容詳細介紹的是51單片機延時函數計算問題以及如何準確延時的詳細資料說明免費下載。
    發表于 04-15 18:24 ?2次下載
    51單片機<b class='flag-5'>延時</b>函數計算問題<b class='flag-5'>以及</b>如何準確<b class='flag-5'>延時</b>的詳細資料說明

    FreeRTOS中相對延時與絕對延時區別

    FreeRTOS中相對延時和絕對延時區別
    的頭像 發表于 03-12 10:32 ?8647次閱讀
    FreeRTOS中相對<b class='flag-5'>延時</b>與絕對<b class='flag-5'>延時</b>的<b class='flag-5'>區別</b>

    關于STM32的計數與延時

    關于STM32的計數和延時
    的頭像 發表于 03-12 11:20 ?6766次閱讀

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

    MCU硬件延時軟件延時有什么區別?(閱讀原文)
    發表于 11-16 10:21 ?16次下載
    MCU<b class='flag-5'>硬件</b><b class='flag-5'>延時</b>和<b class='flag-5'>軟件</b><b class='flag-5'>延時</b>有什么<b class='flag-5'>區別</b>?

    單片機延時的相關概念和分類

    在嵌入式項目中,軟件開發基本上都會使用到延時,那么,該用軟件延時還是硬件延時
    的頭像 發表于 05-11 13:23 ?3087次閱讀

    相對延時和絕對延時區別

    嵌入式軟件代碼中延時是很常見的,只是延時種類有很多,看你用什么延時
    發表于 08-12 08:48 ?1813次閱讀

    單片機硬件軟件延時是啥意思?

    前不久有個讀者在問關于延時的問題,大概就是問:軟件延時硬件延時是啥意思?做項目時他倆有什么
    的頭像 發表于 12-06 09:10 ?1507次閱讀

    講講關于單片機硬件延時軟件延時內容以及它們區別

    比如:定時器(Timer)、 實時時鐘(RTC)、 系統滴答定時器(SysTick)等具有計數功能的硬件
    發表于 12-30 14:06 ?2184次閱讀

    OFF延時和ON延時定時器的區別

    機械定時繼電器和延時定時器用于延時電路控制觸點的打開或閉合。它們的工作方式與控制繼電器類似,主要區別在于定時繼電器中的特定觸點設計為在線圈通電或斷電后的預定時間間隔后激活。   
    的頭像 發表于 11-21 17:50 ?2797次閱讀

    時間繼電器通電延時與斷電延時區別

    時間繼電器通電延時與斷電延時區別? 時間繼電器是一種常用的控制設備,可用于各種延時應用。常見的時間繼電器主要包括通電延時繼電器和斷電
    的頭像 發表于 02-04 13:43 ?5112次閱讀

    延時保險絲的工作原理 延時保險絲和普通保險絲的區別

    將詳細介紹延時保險絲的工作原理以及與普通保險絲的區別。 一、延時保險絲的工作原理 1.1 材料組成理論 延時保險絲通常由銅絲和陶瓷組成。銅絲
    的頭像 發表于 03-05 17:06 ?5872次閱讀
    真让百家乐官网游戏开户| bet365维护| 大发888娱乐场下载 17| 鸿盛博娱乐| 浑源县| 百家乐官网论坛博彩拉| V博百家乐官网的玩法技巧和规则| 百家乐实时路单| 百家乐一般的庄闲比例是多少| 新全讯网a3322.com| 3d大赢家| 百家乐官网为什么庄5| 百家乐官网家乐娱乐城| 百家乐博彩通| 大发888怎么找| 黑河市| 网上百家乐官网赌场娱乐网规则| 百家乐娱乐城公司| 威尼斯人娱乐城梧州店| 壹贰博网| 百家乐官网永利娱乐平台| 真人百家乐软件博彩吧| 大发888在线娱乐游戏| 百家乐官网隐者博客| 龍城百家乐的玩法技巧和规则| 六合彩资料大全| 澳门百家乐官网文章| 网络百家乐漏洞| 德州扑克读牌| 真人百家乐官网试玩游戏| 百家乐冯式打法| 大发888九州娱乐城| 大发888老虎机苹果版| 百家乐官网那个平台信誉高| 百家乐视频游戏冲值| 大发888娱乐场下载 zhidu| 宜城市| 百家乐投注平台| 大发888登陆网页游戏| 百家乐官网注码技术打法| 百家乐娱乐平台官网网|