一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32如何使用定時器實現(xiàn)微秒(us)級延時?

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-11-06 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32如何使用定時器實現(xiàn)微秒(us)級延時?

在STM32微控制器中,可以使用定時器實現(xiàn)微秒級延時。具體來說,可以使用定時器的計數(shù)器和自動重裝載寄存器來生成精確的延時。

以下將詳細(xì)介紹如何使用定時器實現(xiàn)微秒級延時的步驟:

步驟 1:配置定時器

首先,需要選擇一個適合的定時器。大多數(shù)STM32微控制器都配備了多個定時器,因此,可以根據(jù)需求選擇一個可用的定時器。一般來說,TIM2和TIM3定時器是常用的,具備較高的精度和可編程性。

接下來,需要進行定時器的基本配置,包括時鐘源、計數(shù)模式、分頻系數(shù)等??梢愿鶕?jù)具體需求,選擇合適的配置參數(shù)。通常情況下,可以選擇內(nèi)部時鐘源作為定時器的時鐘源,并將分頻系數(shù)設(shè)置為最小,以獲得最高的精度。

步驟 2:設(shè)置計數(shù)周期

接下來,需要設(shè)置定時器的計數(shù)周期,以確定延時的時長。根據(jù)定時器的位數(shù)(例如,16位或32位),可以設(shè)置計數(shù)器的最大值。通過修改自動重裝載寄存器(ARR),可以設(shè)置計數(shù)器的最大值。

計算最大延時(us)的公式為:

最大延時(us)= (計數(shù)器最大值+1) * 定時器分頻系數(shù) / 定時器頻率

通過調(diào)整最大值,即可獲得所需的微秒級延時。

步驟 3:編寫延時函數(shù)

最后,根據(jù)上述配置,編寫一個延時函數(shù)來實現(xiàn)微秒級延時。這個函數(shù)的實現(xiàn)基于定時器的中斷機制。

首先,需要使能定時器的中斷,并配置定時器中斷的優(yōu)先級??梢允褂肏AL庫提供的相關(guān)函數(shù)來完成這些配置。

然后,編寫中斷服務(wù)函數(shù)(ISR),并在其中對延時時間進行判斷。當(dāng)計數(shù)器計數(shù)達到預(yù)設(shè)值時,就說明已經(jīng)延時完成,可以清除中斷標(biāo)志位,并執(zhí)行相應(yīng)的處理。

需要注意的是,在定時器中斷函數(shù)中,可以使用全局變量來統(tǒng)計中斷次數(shù),以便于在延時函數(shù)中進行計時。

最后,在延時函數(shù)中,可以使用循環(huán)或者其他方式,來判斷延時是否達到預(yù)設(shè)的時間。比較常用的方法是使用一個while循環(huán),判斷計數(shù)次數(shù)是否滿足條件。當(dāng)滿足條件時,延時完成。

綜上所述,通過以上步驟,可以在STM32微控制器中使用定時器實現(xiàn)微秒級延時。在實際應(yīng)用中,可以根據(jù)需求進行相應(yīng)的配置和優(yōu)化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7953

    瀏覽量

    155105
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365031
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118964
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    stm32H743定時器溢出的原因?怎么解決?

    我利用定時器更新中斷實現(xiàn)軟件計時,定時時間是固定的按照{(diào)10ms, 20ms,650ms, 50ms,50ms}周期性進行的。由于下一次的計時時間是需要在定時器的中斷處理函數(shù)中更新的,
    發(fā)表于 06-23 08:26

    MCU定時器/計數(shù)

    RISC-V核低功耗MCU通過靈活的定時器架構(gòu)、低功耗模式適配及硬件中斷優(yōu)化,在工業(yè)控制、智能家居等場景中實現(xiàn)高精度計時與能耗控制的協(xié)同設(shè)計,滿足復(fù)雜任務(wù)調(diào)度與實時響應(yīng)的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?302次閱讀

    【S32K 進階之旅】如何使用 S32K3 PIT 定時器實現(xiàn)精準(zhǔn)延時?

    周期中斷定時器(PeriodicInterruptTimer,PIT)模塊顧名思義,就是通過計時行為引發(fā)周期性中斷事件的觸發(fā)。本文基于S32K312開發(fā)板實現(xiàn)延時功能,在此之前先簡單
    的頭像 發(fā)表于 03-10 16:33 ?730次閱讀
    【S32K 進階之旅】如何使用 S32K3 PIT <b class='flag-5'>定時器</b><b class='flag-5'>實現(xiàn)</b>精準(zhǔn)<b class='flag-5'>延時</b>?

    STM32Cube配置RTOS時定時器如何選擇?

    STM32Cube配置RTOS時定時器如何選擇
    發(fā)表于 03-07 08:47

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2輸出。 現(xiàn)在是要輸出兩個相位不同的pwm波形,延時時間、
    發(fā)表于 03-07 08:20

    詳解CKS32F107xx系列的定時器同步功能

    CKS32F107xx系列部分定時器在內(nèi)部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數(shù)據(jù)采集和PWM信號生成等應(yīng)用中,實現(xiàn)復(fù)雜的時間序列和多通道的同步操作。本節(jié)課
    的頭像 發(fā)表于 11-26 17:51 ?1061次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時器</b>同步功能

    FPGA延時Verilog HDL實現(xiàn)

    可以在任意時刻啟動,可以重復(fù)啟動,延時時長可調(diào),單位可切換(ms/us),在50MHz時鐘下的延時范圍是1ms-85899ms/1us-85899us。
    的頭像 發(fā)表于 11-05 11:26 ?829次閱讀

    請問PurePath Studio有定時器控件嗎?用AIC3254如何實現(xiàn)毫秒定時?

    PurePath Studio有定時器控件嗎?用AIC3254如何實現(xiàn)毫秒定時?
    發(fā)表于 10-25 07:26

    GD32VF103使用核內(nèi)部timer定時器實現(xiàn)延時函數(shù),為什么系統(tǒng)時鐘要除以4?

    使用核內(nèi)部timer定時器實現(xiàn)延時函數(shù),為什么系統(tǒng)時鐘要除以4? 復(fù)制 void delay_1ms(uint32_t count) { uint64_t start_mtime
    發(fā)表于 09-27 09:54

    定時器自動控制開關(guān)怎么設(shè)置

    定時器自動控制開關(guān)是一種常見的自動化設(shè)備,廣泛應(yīng)用于家庭、工業(yè)、農(nóng)業(yè)等多個領(lǐng)域。通過定時器,用戶可以預(yù)設(shè)時間,讓設(shè)備在特定時間自動開啟或關(guān)閉,從而實現(xiàn)節(jié)能、提高效率和便利性。 一、
    的頭像 發(fā)表于 09-19 16:19 ?4099次閱讀

    如何在MSP430?上實現(xiàn)內(nèi)置振蕩的高精度定時器

    電子發(fā)燒友網(wǎng)站提供《如何在MSP430?上實現(xiàn)內(nèi)置振蕩的高精度定時器.pdf》資料免費下載
    發(fā)表于 09-14 11:10 ?0次下載
    如何在MSP430?上<b class='flag-5'>實現(xiàn)</b>內(nèi)置振蕩<b class='flag-5'>器</b>的高精度<b class='flag-5'>定時器</b>

    定時器的基本組成和工作模式

    定時器是計算機或電子設(shè)備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應(yīng)用中起著至關(guān)重要的作用,如操作系統(tǒng)調(diào)度、多媒體播放、網(wǎng)絡(luò)通信、工業(yè)自動化控制以及家電設(shè)備的定時功能等。定時器的工作原理基于時序控制,
    的頭像 發(fā)表于 08-19 18:28 ?2783次閱讀

    VCU項目之功耗與喚醒模式大揭秘~

    引腳配置三、外設(shè)配置添加外設(shè)以下為POWER配置,用于進入低功耗等模式四、代碼編寫/***@brief實現(xiàn)延時功能的軟件定時器函數(shù)*@paramdelay延時時間(
    的頭像 發(fā)表于 08-06 08:11 ?788次閱讀
    VCU項目之功耗與喚醒模式大揭秘~

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

    普及一下延時相關(guān)概念和分類。硬件延時:指利用具有計數(shù)功能的硬件進行延時。比如:定時器(Timer)、實時時鐘(RTC)、系統(tǒng)滴答定時器(Sy
    的頭像 發(fā)表于 07-25 08:11 ?1391次閱讀
    揭秘:單片機硬件與軟件<b class='flag-5'>延時</b>之大不同!

    ESP8266如何實現(xiàn)時間小于3us定時任務(wù)?

    實現(xiàn)一個穩(wěn)定的軟串口,現(xiàn)有的軟串口程序是通過中斷實現(xiàn)的,但中斷好像會被其他中斷打斷,導(dǎo)致數(shù)據(jù)丟失,定時器按文檔上的說法,只能大于50us,能不能
    發(fā)表于 07-19 06:13