国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32不使用中斷實現(xiàn)定時器微秒級精確延時

這篇具有很好參考價值的文章主要介紹了STM32不使用中斷實現(xiàn)定時器微秒級精確延時。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

我們在寫代碼的時候避免不了要使用延時函數(shù),很多延時函數(shù)都是使用中斷或者tick來實現(xiàn)的,tick的方式最大到毫秒ms級別,通過中斷方式的通用定時器來實現(xiàn),如果實現(xiàn)1us的延時那么每1us就來一次中斷,很影響cpu的效率。

本文提供一種不使用中斷,并且很簡單的方式實現(xiàn)的微秒級精確定時。

通過使用通用定時器來實現(xiàn)

代碼如下(基于stm32f103)

static void us_delay(uint32_t us)
{
	uint32_t count = us;
 
	TIM_SetCounter(TIM3, count);
	TIM_Cmd(TIM3, ENABLE);
 
	while (count > 1)//一般改為>= 1,只是 > 1延時偶爾會不夠
	{
		count = TIM_GetCounter(TIM3);
	}
	TIM_Cmd(TIM3, DISABLE);
}
 
static void timer_init(void)//2us
{
	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
 
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
 
	TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down;
	TIM_TimeBaseStructure.TIM_Period = 1;
	TIM_TimeBaseStructure.TIM_Prescaler = 71;//72Mhz
	TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
 
	TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
 
	TIM_Cmd(TIM3, DISABLE);
}

示波器測試抓到的5us延時如下:

stm32通用定時器設置微妙,ARM,stm32,單片機,定時器,延時

stm32通用定時器設置微妙,ARM,stm32,單片機,定時器,延時

當然如果要實現(xiàn)毫秒級別的要是就很簡單了,代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-848119.html

void ms_delay(uint32_t ms)
{
 
    us_delay(ms * 1000);
 
}

到了這里,關于STM32不使用中斷實現(xiàn)定時器微秒級精確延時的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【學習記錄】STM32利用定時器中斷實現(xiàn)定時閃爍指示燈

    【學習記錄】STM32利用定時器中斷實現(xiàn)定時閃爍指示燈

    任務:定時閃爍指示燈 任務目標: 掌握 CubeMX 軟件配置定時器實現(xiàn)定時功能的方法。 任務內(nèi)容: 控制開發(fā)板上的指示燈LED每隔1s閃爍。 任務實現(xiàn): 使用的STM32芯片是STM32F407ZET6 第一步:設置高速時鐘,設置LED 第二步:配置TIM10時鐘為100MHz,故可以設置預分頻系數(shù)PSC為9999,自

    2024年02月05日
    瀏覽(25)
  • STM32+摁鍵與定時器實現(xiàn)Led燈控制(中斷)

    STM32+摁鍵與定時器實現(xiàn)Led燈控制(中斷)

    中斷作為單片機開發(fā)必須掌握的內(nèi)容,它能夠在不搭載操作系統(tǒng)的情況下讓我們體驗多任務處理的快感,保證了高優(yōu)先級任務的實時性,同時系統(tǒng)中斷也能夠提供給用戶在核心發(fā)生錯誤之后進行處理的機會。STM32F103系列單片機中斷非常強大,每個外設都可以產(chǎn)生中斷,F(xiàn)103 在

    2024年02月04日
    瀏覽(16)
  • STM-32:TIM定時中斷—定時器定時中斷/定時器外部時鐘

    STM-32:TIM定時中斷—定時器定時中斷/定時器外部時鐘

    定時器可以對輸入的時鐘進行計數(shù),并在達到設定值時觸發(fā)中斷 16位計數(shù)器、預分頻器、自動重裝寄存器的時基單元,在72MHz計數(shù)時鐘下可以實現(xiàn)最大59.65s的定時 不僅具備基本的定時中斷功能,而且還包含內(nèi)外時鐘源選擇、輸入捕獲、輸出比較、編碼器接口、主從觸發(fā)模式等

    2024年02月09日
    瀏覽(28)
  • STM32CUBEMX配置 定時器中斷 和 上升沿中斷(實現(xiàn)檢測1s以內(nèi)的脈沖個數(shù))

    STM32CUBEMX配置 定時器中斷 和 上升沿中斷(實現(xiàn)檢測1s以內(nèi)的脈沖個數(shù))

    ———————————————————————————————————— ? 大家好哇!我是小光,嵌入式愛好者,一個想要成為系統(tǒng)架構師的大三學生。 ?最近在開發(fā)一個STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驅動,包括ADC、UART、RS485、EEPROM(IIC)、FLASH(SPI)等等。

    2024年02月16日
    瀏覽(16)
  • 【STM32】STM32學習筆記-定時器定時中斷 定時器外部時鐘(14)

    【STM32】STM32學習筆記-定時器定時中斷 定時器外部時鐘(14)

    1.1 TIM_InternalClockConfig 1.2 TIM_TimeBaseInit 1.3 TIM_TimeBaseInitTypeDef 1.4 TIM_ClearFlag 1.5 TIM_ITConfig 1.6 TIM_Cmd 1.7 中斷服務函數(shù) 參考程序 1.8 TIM_ETRClockMode2Config timer.h timer.c main.c timer.h timer.c main.c 09-定時器定時中斷.rar 10-定時器外部時鐘.rar 參考: 【STM32】江科大STM32學習筆記匯總

    2024年02月03日
    瀏覽(97)
  • STM32使用定時器更新中斷使LED亮滅交替1S閃爍

    STM32使用定時器更新中斷使LED亮滅交替1S閃爍

    在向上計數(shù)模式中,計數(shù)器從0計數(shù)到自動加載值(TIMx_ARR(自動裝載寄存器)計數(shù)器的內(nèi)容),然后重新從0開始計數(shù)并且產(chǎn)生一個計數(shù)器溢出事件。每次計數(shù)器溢出時可以產(chǎn)生更新事件,當使能了更新中斷以后,計數(shù)器溢出時則產(chǎn)生更新中斷。 上圖源自一位b站up主的定時器中斷

    2024年02月05日
    瀏覽(25)
  • STM32——定時器——定時中斷

    STM32——定時器——定時中斷

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 本節(jié)先只講解定時器的定時中斷,內(nèi)外中斷源選擇。 TIM(Timer)定時器 定時器可以 對輸入的時鐘進行計數(shù) ,并在計數(shù)值達到設定值時觸發(fā)中斷。 16位計數(shù)器、預分頻器、自動重裝寄存器的時基單元 ,

    2024年04月10日
    瀏覽(19)
  • STM32定時器-定時器中斷功能詳解

    STM32定時器-定時器中斷功能詳解

    STM32的眾多定時器中我們使用最多的是高級定時器和通用定時器,而高級定時器一般也是用作通用定時器的功能,下面我們就以通用定時器為例進行講解,其功能和特點包括: 通用與基本定時器(2~7)位于低速的APB1總線上 高級定時器(1、8)位于高速的APB2總線上 自動裝載計

    2024年02月08日
    瀏覽(108)
  • stm32 定時器部分(定時中斷)

    一.定時中斷(概念部分) 定時中斷主要包含兩種中斷一種是更新中斷還有一種是輸入捕獲中斷 更新中斷 :更新中斷通常用于定時器的基本定時功能。當定時器計數(shù)器溢出并重新從零開始計數(shù)時,會觸發(fā)更新中斷。你可以配置定時器的計數(shù)周期和預分頻器來控制定時器的計時

    2024年03月15日
    瀏覽(24)
  • 定時器詳解 -- 定時器中斷、PWM輸出 --stm32

    定時器詳解 -- 定時器中斷、PWM輸出 --stm32

    STM32F103系列芯片擁有多種定時器,包括基本定時器、通用定時器和高級定時器,每種定時器都具有一些特定的功能。 向上計數(shù):計數(shù)器從0計數(shù)到自動重裝載值(ARR),然后重新從0開始計數(shù)并且產(chǎn)生一個計數(shù)器溢出事件。 向下計數(shù):計數(shù)器從自動重裝載值(ARR)開始向下計數(shù)

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包