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

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

這篇具有很好參考價(jià)值的文章主要介紹了最詳細(xì)STM32,cubeMX 定時(shí)器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

這篇文章將詳細(xì)介紹 STM32,cubeMX 定時(shí)器的配置和使用。


前言

  • 實(shí)驗(yàn)開發(fā)板:STM32F103C8T6。
  • 所需軟件:keil5 , cubeMX 。
  • 實(shí)驗(yàn)?zāi)康模毫私?cubeMX 定時(shí)器 的配置和使用。
  • 實(shí)驗(yàn):使用定時(shí)器控制 led 閃爍。

一、定時(shí)器基礎(chǔ)知識(shí)

STM32的定時(shí)器是用于時(shí)間測(cè)量和事件生成的復(fù)雜工具??梢允褂脙?nèi)部或外部時(shí)鐘源。時(shí)鐘源和分頻設(shè)置將決定定時(shí)器計(jì)數(shù)的速度。

定時(shí)器可以配置為在特定事件(如溢出或匹配特定值)上觸發(fā)中斷。這使得它能夠周期性地執(zhí)行代碼片段,例如讀取傳感器數(shù)據(jù)或刷新顯示。

定時(shí)器的主要組件:

  • 計(jì)數(shù)器:定時(shí)器的核心部分,可以配置向上/向下 計(jì)數(shù)。
  • 預(yù)分頻器:分頻定時(shí)器的輸入時(shí)鐘改變計(jì)數(shù)器的計(jì)數(shù)速率。如果時(shí)鐘速度是72MHz,并使用預(yù)分頻值為7199,那么計(jì)數(shù)器的計(jì)數(shù)速度將是10kHz。(72MHz / 7199)
  • 自動(dòng)重載寄存器(ARR, Auto-reload register):定義了計(jì)數(shù)器重置的值。

二、cubeMX 配置

  1. 選擇芯片。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  2. 配置仿真。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  3. 配置時(shí)鐘,選擇 HSE, 高速時(shí)鐘。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  4. 配置時(shí)鐘樹。選擇最大 72 MHZ, 然后雙擊 enter 即可。系統(tǒng)會(huì)自動(dòng)配置最合適的時(shí)鐘。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  5. 設(shè)置工程名,路徑和工具鏈。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  6. 自動(dòng)生成 .c / .h 文件。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  7. 將 led 引腳設(shè)置輸出。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  8. 讓 led 引腳默認(rèn)輸出高電平。因?yàn)?根據(jù)實(shí)際電路當(dāng)引腳是低電平時(shí),led 點(diǎn)亮。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  9. 這里我使用 定時(shí)器2 , 并使用 內(nèi)部時(shí)鐘源。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  10. 使能定時(shí)器中斷。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  11. 設(shè)置 定時(shí)器參數(shù)(分頻系數(shù),向上計(jì)數(shù),自動(dòng)重裝載值)。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

  12. 創(chuàng)建工程。
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

三、定時(shí)時(shí)長(zhǎng)

定時(shí)時(shí)長(zhǎng) = (計(jì)數(shù)器自動(dòng)重載值 + 1 )*( 分頻系數(shù) + 1 )/ 定時(shí)器時(shí)鐘頻率

(為什么重裝載值和分頻系數(shù)不置為整數(shù)? 原因:精越定時(shí))

這里 我想要設(shè)置 定時(shí)時(shí)長(zhǎng)為 1ms ,那么首先設(shè)置相關(guān)參數(shù):

  • 定時(shí)器時(shí)鐘頻率 : 72 MHZ。
  • 分頻系數(shù) (PSC): 選擇 72 分頻。
  • 計(jì)數(shù)器自動(dòng)重載值(ARR):可控制定時(shí)器的定時(shí)時(shí)間,改變定時(shí)時(shí)長(zhǎng)。

因?yàn)?分頻系數(shù) / 定時(shí)器時(shí)鐘頻率 = 計(jì)數(shù)器的計(jì)數(shù)速率, 所以 72 / 72MHZ = 1us 。則每 1 us 計(jì)數(shù)一次。當(dāng)計(jì)數(shù)到 1000 (ARR) 時(shí), 發(fā)生定時(shí)器的溢出中斷. 即 ARR 從 0 增加到 1000 ,每 1 us 增加一次,則 定時(shí)時(shí)長(zhǎng)為 1000 * 1 us = 1 ms .
最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

四、自動(dòng)生成代碼講解

自動(dòng)生成的 定時(shí)器的代碼在 tim.c 文件中。

  1. 首先還是 先定義一個(gè) 定時(shí)器對(duì)象,這是一個(gè)結(jié)構(gòu)體。
  2. 初始化這個(gè)結(jié)構(gòu)體中的相關(guān)參數(shù)。
  3. 調(diào)用 HAL_TIM_Base_Init(&htim2) 對(duì)其初始化。
  4. 之后自動(dòng)調(diào)轉(zhuǎn)到HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) 執(zhí)行。
    5. __HAL_RCC_TIM2_CLK_ENABLE( ); 開啟定時(shí)器 2
  5. HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0); 設(shè)置優(yōu)先級(jí)
    HAL_NVIC_EnableIRQ(TIM2_IRQn); 使能中斷
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX
    最詳細(xì)STM32,cubeMX 定時(shí)器,STM32F103C8T6教程,stm32,單片機(jī),嵌入式硬件,定時(shí)器中斷,cubemX

五、實(shí)驗(yàn)程序

開啟定時(shí)器中斷:

HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);

定時(shí)器中斷回調(diào)函數(shù):

/* 發(fā)生定時(shí)器中斷后調(diào)用定時(shí)器中斷回調(diào)函數(shù) */

HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

定時(shí)器控制 led 閃爍:

static int i=0;


/* 根據(jù)cubeMX 配置的參數(shù)確定多久觸發(fā)定時(shí)器中斷,這里 是每 1 ms 觸發(fā)一次中斷即調(diào)用該函數(shù) */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim == &htim2)
	{
		if(++i == 1000)					// 當(dāng) i 加到 1000 時(shí),則時(shí)間到達(dá) 1 s, 翻轉(zhuǎn) led 電平
		{
			i=0;
			HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_4);
		}
	}
}

總結(jié)

下篇文章為大家介紹 串口 的相關(guān)知識(shí)。文章來源地址http://www.zghlxwxcb.cn/news/detail-721906.html

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

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

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

相關(guān)文章

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

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

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

    2024年02月07日
    瀏覽(29)
  • 2.基于正點(diǎn)原子STM32F103的定時(shí)器中斷實(shí)驗(yàn)(HAL庫(kù)實(shí)現(xiàn))(cubeMX)

    2.基于正點(diǎn)原子STM32F103的定時(shí)器中斷實(shí)驗(yàn)(HAL庫(kù)實(shí)現(xiàn))(cubeMX)

    ? 基本上每一款MCU都會(huì)配備定時(shí)器這個(gè)外設(shè),STM32 的每個(gè)通用定時(shí)器都是完全獨(dú)立的,沒有互相共享的任何資源。 同樣,STM32F1系列的定時(shí)器功能也很強(qiáng)大,包括: TIM1和TIM8兩個(gè)高級(jí)定時(shí)器; TIM2~TIM5是個(gè)通用寄存器; TIM7,TIM8,兩個(gè)基本定時(shí)器。 由于本次實(shí)驗(yàn)適用于新手入門

    2023年04月26日
    瀏覽(27)
  • 基于STM32F103C8T6的端口重映射及定時(shí)器輸出PWM控制

    基于STM32F103C8T6的端口重映射及定時(shí)器輸出PWM控制

    #一、端口重映射原理及部分/完全重映射 #二、端口重映射的配置 #三、PWM控制 ##1、通用定時(shí)器輸出PWM ##2、PWM的工作原理 ##3、PWM的內(nèi)部運(yùn)作機(jī)制 ##4、PWM的模式 ##5、自動(dòng)加載的預(yù)載寄存器 #四、定時(shí)器輸出PWM結(jié)構(gòu)體及庫(kù)函數(shù)的配置 #五、項(xiàng)目硬件 #六、項(xiàng)目代碼 一、端口重映射

    2024年02月13日
    瀏覽(22)
  • 基于STM32F103C8T6單片機(jī)的1秒定時(shí)器設(shè)計(jì)與應(yīng)用

    標(biāo)題:基于STM32F103C8T6單片機(jī)的1秒定時(shí)器設(shè)計(jì)與應(yīng)用 摘要: 本文主要探討了如何在STM32F103C8T6微控制器上利用內(nèi)部定時(shí)器實(shí)現(xiàn)精確的1秒鐘定時(shí)功能,并通過實(shí)際項(xiàng)目實(shí)施,驗(yàn)證其穩(wěn)定性和可靠性。首先介紹了STM32F103C8T6單片機(jī)的特性及其定時(shí)器資源,然后詳細(xì)闡述了基于TIMx(

    2024年01月18日
    瀏覽(27)
  • STM32F103C8T6定時(shí)器實(shí)現(xiàn)led的周期閃爍及PWM實(shí)現(xiàn)流水燈

    STM32F103C8T6定時(shí)器實(shí)現(xiàn)led的周期閃爍及PWM實(shí)現(xiàn)流水燈

    通過定時(shí)器Timer方式實(shí)現(xiàn)時(shí)間的精準(zhǔn)控制,相當(dāng)于給CPU上了一個(gè)鬧鐘,CPU平時(shí)處理其它任務(wù),當(dāng)定時(shí)時(shí)間到了以后,處理定時(shí)相關(guān)的任務(wù)。請(qǐng)?jiān)O(shè)置一個(gè)5秒的定時(shí)器,每隔5秒從串口發(fā)送“hello windows!”;同時(shí)設(shè)置一個(gè)2秒的定時(shí)器,讓LED等周期性地閃爍。 使用TIM3和TIM4,分別輸

    2024年01月23日
    瀏覽(31)
  • STM32CubeMX配置--STM32F103C8T6最小系統(tǒng)板

    STM32CubeMX配置--STM32F103C8T6最小系統(tǒng)板

    首先是新建工程選擇左上角的 File 然后點(diǎn)擊 NewProject ,或者直接使用快捷鍵 Ctrl+N 新建工程 然后選擇開發(fā)板型號(hào),在 Commercial Part Number 處輸入 STM32F103C8T6 然后在下方會(huì)有選擇 直接雙擊型號(hào) 就會(huì)進(jìn)入配置界面 PINoutConfiguration (1)RCC修改 首先點(diǎn)擊左上角的 System Core 然后點(diǎn)擊

    2024年02月04日
    瀏覽(26)
  • STM32 DMA1和DMA2通道一覽表、STM32F103C8T6定時(shí)器通道對(duì)應(yīng)的引腳

    STM32 DMA1和DMA2通道一覽表、STM32F103C8T6定時(shí)器通道對(duì)應(yīng)的引腳

    TIM1_BRK_IRQn ? ? ? ? ? ? ? = 24, ? ?? TIM1_UP_IRQn ? ? ? ? ? ? ? ?= 25, ? ?? TIM1_TRG_COM_IRQn ? ? ? ? ? = 26, ? ? TIM1_CC_IRQn ? ? ? ? ? ? ? ?= 27, ? ? TIM2_IRQn ? ? ? ? ? ? ? ? ? = 28, ? ? TIM3_IRQn ? ? ? ? ? ? ? ? ? = 29, ? ?這個(gè)函數(shù)TIM_SetCompare1,這個(gè)函數(shù)有四個(gè),分別是TIM_SetC

    2024年02月05日
    瀏覽(32)
  • STM32 F103C8T6學(xué)習(xí)筆記5:定時(shí)器輸出不同占空比PWM驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)角度

    現(xiàn)在學(xué)習(xí)使用STM32 F103C8T6的定時(shí)器PWM模式,使用PWM驅(qū)動(dòng)舵機(jī)轉(zhuǎn)動(dòng)不同角度,文章提供源碼,測(cè)試工程,測(cè)試動(dòng)態(tài)效果圖。 目錄 基礎(chǔ)原理: ?實(shí)驗(yàn)?zāi)繕?biāo): 測(cè)試視頻結(jié)果: 測(cè)試工程下載: 這次依舊拿出之前學(xué)習(xí)過的舵機(jī)DS3115,它的基礎(chǔ)原理不多加介紹,在往期講MSP432的文章有所

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

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

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

    2024年02月20日
    瀏覽(98)
  • STM32CubeMX——定時(shí)器配置

    STM32CubeMX——定時(shí)器配置

    本文將會(huì)以STM32F103C8T6為例配置定時(shí)器2定時(shí)5 ms SMT32F1系列共有8個(gè)定時(shí)器: 基本定時(shí)器(TIM6、TIM7) 通用定時(shí)器(TIM2、TIM3、TIM4、TIM5) 高級(jí)定時(shí)器(TIM1、TIM8) 16位向上、向下、向上/下自動(dòng)裝載計(jì)數(shù)器 16位可編程(可以實(shí)時(shí)修改)預(yù)分頻器,計(jì)數(shù)器時(shí)鐘頻率的分頻系數(shù)為 1~6553

    2023年04月10日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包