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

STM32CubeMX學(xué)習(xí)四 之定時器配置

這篇具有很好參考價值的文章主要介紹了STM32CubeMX學(xué)習(xí)四 之定時器配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。


前言

記錄一下STM32CubeMX的學(xué)習(xí)筆記,同時分享給初學(xué)的小白,希望一起進(jìn)步。
如何使用STM32CubeMX以及工程創(chuàng)建在之前的博客有提到,這里就直接從定時器講起。


一、本地環(huán)境

編譯環(huán)境:KEIL
代碼生成:STM32CubeMX
庫:HAL
MCU:STM32F072

二、開始

1.定時器配置

假設(shè)你的cubeMX工程已經(jīng)建好,這里我們開始配置定時器2(TIM2),使用內(nèi)部時鐘源。
STM32CubeMX學(xué)習(xí)四 之定時器配置

2.內(nèi)部時鐘配置

配置完GPIO后開始配置時鐘,我這里配置的是內(nèi)部時鐘,配置的24Mhz的內(nèi)部時鐘(HSI)如圖:
STM32CubeMX學(xué)習(xí)四 之定時器配置

2.TIMER配置

我這里配置的是1ms的定時器。我們要通過配置預(yù)分頻和計數(shù)周期來定時1ms。
我們的內(nèi)部時鐘周期配置的是24M,而我們要定時1ms,那么Prescaler設(shè)置成(24-1),Counter Period設(shè)置為(1000-1)。設(shè)置的這兩個數(shù)字可以根據(jù)實(shí)際需求來湊即可,只要算出來是1ms即可。

計算公式:

頻率(f)
時間(F)
預(yù)分頻(Prescaler)
計數(shù)周期(Counter Period)
f = timer_clock  / (Prescaler+1) / (Counter_Period+1)  //timer在計算的時候會自動將值+1
計算如下:
Prescaler = 24-1
Counter_Period = 1000-1
f = 24Mhz / (24-1+1) / (1000-1+1) = 1000hz
T = 1/1000 = 1ms

配置如圖:
Counter Mode 是 計數(shù)模式,根據(jù)需求向上計數(shù)(up)或者向下計數(shù)(down)。
STM32CubeMX學(xué)習(xí)四 之定時器配置
NVIC中斷配置:
STM32CubeMX學(xué)習(xí)四 之定時器配置

4.代碼生成

時鐘配置完畢后,選擇“Project Manager”到工程配置界面。
1、配置工程的名稱
2、工程存儲路徑
3、IDE選擇(如果是keil工具,選擇MDK-ARM)
4、mcu依賴的cube包在哪個目錄
STM32CubeMX學(xué)習(xí)四 之定時器配置

接著到“Code Generator”下選擇這幾個選項(xiàng)來生成工程:

STM32CubeMX學(xué)習(xí)四 之定時器配置

選擇好過后我們就可以點(diǎn)擊右上角的"GENERATE CODE"按鍵來生成代碼了。
如果提示你的firmware package 缺少直接更新下載即可,如果沒網(wǎng)狀態(tài),就需要去官網(wǎng)下載依賴包放在之前提到的目錄下即可。

我是用一下依賴包生成得工程代碼。
STM32CubeMX學(xué)習(xí)四 之定時器配置

3.編譯工程

點(diǎn)擊編譯按鈕對工程進(jìn)行編譯。
STM32CubeMX學(xué)習(xí)四 之定時器配置
在 CubeMX 生成的文件中添加用戶代碼的時候,必須是寫在/* USER CODE BEGIN n*/和/* USER CODE
END n*/之間。這樣如果需要改變 Cube 工程的配置,在重新生成代碼時,在這兩句注釋之間的語 句不會被覆蓋。而用戶新建或添加的文件不會受到影響。

4.添加功能代碼

我們這里工程就基本建好了,現(xiàn)在來實(shí)現(xiàn)功能代碼部分。
在代碼中添加如下代碼使能定時器中斷:

HAL_TIM_Base_Start_IT(&htim2)

STM32CubeMX學(xué)習(xí)四 之定時器配置

我們要添加函數(shù)功能到回調(diào)函數(shù)內(nèi),那么怎么去找這個回調(diào)函數(shù)了?
1、我們可以打開對應(yīng)的頭文件,這里是stm32f0xx_hal_time.h,找到以callback結(jié)尾的函數(shù)(void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);)
STM32CubeMX學(xué)習(xí)四 之定時器配置

通過點(diǎn)擊右鍵,然后點(diǎn)擊“go to Definition…”就可以定位到函數(shù)實(shí)現(xiàn)的地方:
STM32CubeMX學(xué)習(xí)四 之定時器配置

這里我們看到這個函數(shù)是被 __weak修飾的函數(shù),所以這個函數(shù)如果我們要使用的話直接把函數(shù)復(fù)制出來在用戶端直接重寫就行了。
在CubeMX生成的程序框架中,TIMER共用一個回調(diào)函數(shù)接口。要想知道是哪個定時器中斷源,就判斷其輸入?yún)?shù)htim即可。

在time.c中添加以下代碼就可以識別對應(yīng)的定時器中斷了。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance == TIM2)  /* tim2 1ms*/
	{
		//功能代碼
	}
}

定時器配置這樣就結(jié)束了,上面提到內(nèi)部時鐘源的配置,這里在提一下外部時鐘源的配置。

5.外部時鐘配置

將PF1和PF2配置成外部晶振功能:
STM32CubeMX學(xué)習(xí)四 之定時器配置

選擇HSE的時鐘配置如下:
STM32CubeMX學(xué)習(xí)四 之定時器配置文章來源地址http://www.zghlxwxcb.cn/news/detail-428814.html


創(chuàng)作不易,請大佬們點(diǎn)個贊!
有問題請留言討論!

到了這里,關(guān)于STM32CubeMX學(xué)習(xí)四 之定時器配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32高級定時器輸出指定數(shù)量PWM(STM32CubeMx配置)

    STM32高級定時器輸出指定數(shù)量PWM(STM32CubeMx配置)

    高級定時器中有一個重復(fù)計數(shù)器,本實(shí)驗(yàn)輸出指定個數(shù)PWM就是利用了重復(fù)計數(shù)器的特性,先來看看重復(fù)計數(shù)器的特性是什么: 計數(shù)器每次上溢或下溢都能使重復(fù)計數(shù)器減1,減到0時,再發(fā)生一次溢出就會產(chǎn)生更新事件 這是什么意思呢,這里舉個例子比如說我設(shè)定重復(fù)計數(shù)器的

    2024年02月02日
    瀏覽(22)
  • 搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時器

    搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時器

    搭建了基礎(chǔ)的環(huán)境,配置了一個簡單的工程后,CubeMx的基本操作就會了。然后基于這個操作往下推進(jìn),開始對關(guān)鍵模塊定時器的攻略,這個部分需要先熟悉一下Stm32的定時器基本原理。 《STM32參考手冊》中僅對定時器的介紹就已經(jīng)占了100多頁,這里就不一一展開,挑一些關(guān)鍵

    2024年02月06日
    瀏覽(21)
  • 野火STM32電機(jī)系列(五)Cubemx配置高級定時器TIM1

    野火STM32電機(jī)系列(五)Cubemx配置高級定時器TIM1

    鴿了一段時間,放心不會斷的哈,目前僅僅是顯示屏壞了,不影響后面項(xiàng)目 前文已經(jīng)配置了GPIO、編碼器 本節(jié)講解CubeMX高級定時器TIM1配置帶死區(qū)的6路互補(bǔ)的PWM 同時配置信號觸發(fā)后續(xù)ADC采集 板子引角的原理圖如下 對應(yīng)的: Motor1--U+--PA8--TIM1_CH1 Motor1--U---PB13--TIM1_CH1N Motor1--V+--

    2024年02月15日
    瀏覽(26)
  • STM32 CubeMX學(xué)習(xí)實(shí)驗(yàn)13:定時器輸入捕獲獲取PWM頻率

    STM32 CubeMX學(xué)習(xí)實(shí)驗(yàn)13:定時器輸入捕獲獲取PWM頻率

    使用定時器5作為輸入捕獲定時器,將通道1(PA0)設(shè)置為輸入捕獲,設(shè)置預(yù)分頻器和計數(shù)值,這里設(shè)置為1us計數(shù)一次,最大可以捕獲周期為0xFFFFFFFFus的PWM,所以一般不需要考慮溢出的問題,使能自動重裝載。 使能定時器中斷,選擇合適的優(yōu)先級,? ?將引腳設(shè)置下拉,保證沒

    2024年03月14日
    瀏覽(18)
  • 【STM32】定時器1觸發(fā)ADC多(規(guī)則)通道采樣+DMA(CUBEMX配置)

    【STM32】定時器1觸發(fā)ADC多(規(guī)則)通道采樣+DMA(CUBEMX配置)

    在用單片機(jī)做電源控制時不得不提ADC采集,離散系統(tǒng)是有固定的執(zhí)行周期的,所以我們采樣也是要固定時間去采樣。然后就是我希望pwm波(定時器1產(chǎn)出)的頻率與采樣頻率一致。 我下面演示的是G431CBU6,當(dāng)然其他芯片也大差不差了。 說一下大致流程,TIM1觸發(fā)ADC采樣,然后

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

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

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

    2024年02月16日
    瀏覽(16)
  • 初出茅廬的小李博客之STM32CubeMx配置定時器的編碼器模式

    初出茅廬的小李博客之STM32CubeMx配置定時器的編碼器模式

    上次文章寫了編碼器是如何工作的,今天就來用STM32F103C8T6的TIM3的通道1跟通道2編寫一個編碼器識別程序。 話不多說,上教程! 選擇外部高速時鐘源HSE 選擇中斷模式觸發(fā)下降沿有效 默認(rèn)是上拉輸入 添加用戶標(biāo)簽為SWITCH 使能NVIC配置 選擇編碼器模式 分頻值設(shè)置為2-1 計數(shù)值設(shè)

    2024年02月12日
    瀏覽(26)
  • 【STM32筆記】STM32的定時器開發(fā)基礎(chǔ)(二)(基于STM32CubeMX實(shí)現(xiàn)定時器中斷)

    【STM32筆記】STM32的定時器開發(fā)基礎(chǔ)(二)(基于STM32CubeMX實(shí)現(xiàn)定時器中斷)

    ? 傳統(tǒng)STM32外部中斷 的設(shè)計步驟: ?(1)將GPIO初始化為輸入端口。 ?(2)配置相關(guān)I/O引腳與中斷線的映射關(guān)系。 ?(3)設(shè)置該I/O引腳對印的中斷觸發(fā)條件。 ?(4)配置NVIC,并使能中斷。 ?(5)編寫中斷服務(wù)函數(shù)。 ? 基于STM32CubeMX的外部中斷 設(shè)計步驟 ?(1)在STM3

    2024年02月20日
    瀏覽(98)
  • 最詳細(xì)STM32,cubeMX 定時器

    最詳細(xì)STM32,cubeMX 定時器

    這篇文章將詳細(xì)介紹 STM32,cubeMX 定時器的配置和使用。 實(shí)驗(yàn)開發(fā)板:STM32F103C8T6。 所需軟件:keil5 , cubeMX 。 實(shí)驗(yàn)?zāi)康模毫私?cubeMX 定時器 的配置和使用。 實(shí)驗(yàn):使用定時器控制 led 閃爍。 STM32的定時器是用于時間測量和事件生成的復(fù)雜工具??梢允褂脙?nèi)部或外部時鐘源。時

    2024年02月07日
    瀏覽(29)
  • STM32CubeMX教程5 TIM 定時器概述及基本定時器

    開發(fā)板(STM32F407G-DISC1) STM32CubeMX軟件(Version 6.10.0) keil μVision5 IDE(MDK-Arm) ST-LINK/V2驅(qū)動 邏輯分析儀nanoDLA 使用STM32CubeMX軟件配置STM32F407開發(fā)板 使用基本定時器TIM6實(shí)現(xiàn)每500ms控制綠燈狀態(tài)變化一次,基本定時器TIM7實(shí)現(xiàn)每1s控制紅燈狀態(tài)變化一次 STM32F407擁有2個基礎(chǔ)定時器、

    2024年02月03日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包