那曲檬骨新材料有限公司

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

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

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

剖析STM32-定時(shí)器1

jf_78858299 ? 來(lái)源:匯極星科技 ? 作者:匯極星科技 ? 2023-04-21 15:14 ? 次閱讀

前言

定時(shí)器作為微控制器不可缺少的外設(shè),在STM32中也是如此。相信不少初學(xué)者學(xué)到定時(shí)器的時(shí)候?qū)TM32的學(xué)習(xí)熱情就大打折扣甚至想要放棄了,因?yàn)檫@一部分知識(shí)確實(shí)比較復(fù)雜。但是,如果你在之前對(duì)GPIO、串口通信、外部中斷的學(xué)習(xí)中把這些外設(shè)掌握了的話,學(xué)習(xí)這個(gè)新知識(shí)并不難。

例本章共計(jì)1萬(wàn)余字,從STM32定時(shí)器的原理、寄存器介紹、定時(shí)器配置以及定時(shí)器的幾個(gè)常用的功能(如定時(shí)器中斷、定時(shí)器輸出比較PWM波形、定時(shí)器輸入捕獲測(cè)電平長(zhǎng)度、定時(shí)器編碼器模式應(yīng)用等)的使用方法來(lái)教大家掌握定時(shí)器這一外設(shè)。

一、定時(shí)器基本介紹

1. STM32定時(shí)器

1、上來(lái)說(shuō)就是用來(lái)定時(shí)的機(jī)器,是存在于STM32單片機(jī)中的一個(gè)外設(shè)。STM32總共有8個(gè)定時(shí)器,分別是2個(gè)高級(jí)定時(shí)器(TIM1、TIM8),4個(gè)通用定時(shí)器(TIM2、TIM3、TIM4、TIM5)和2個(gè)基本定時(shí)器(TIM5、TIM6),如下圖所示:

圖片

這三種定時(shí)器的區(qū)別如下:

圖片

即:高級(jí)定時(shí)器具有捕獲/比較通道和互補(bǔ)輸出,通用定時(shí)器只有捕獲/比較通道,基本定時(shí)器沒(méi)有以上兩者。

2. 通用定時(shí)器功能和特點(diǎn)

STM32的眾多定時(shí)器中我們使用最多的是高級(jí)定時(shí)器和通用定時(shí)器,而高級(jí)定時(shí)器一般也是用作通用定時(shí)器的功能,下面我們就以通用定時(shí)器為例進(jìn)行講解,其功能和特點(diǎn)包括:

位于低速的APB1總線上(APB1)

16 位向上、向下、向上/向下(中心對(duì)齊)計(jì)數(shù)模式,自動(dòng)裝載計(jì)數(shù)器(TIMx_CNT)。

16 位可編程(可以實(shí)時(shí)修改)預(yù)分頻器(TIMx_PSC),計(jì)數(shù)器時(shí)鐘頻率的分頻系數(shù) 為 1~65535 之間的任意數(shù)值。

4 個(gè)獨(dú)立通道(TIMx_CH1~4),這些通道可以用來(lái)作為:

① 輸入捕獲 

    ② 輸出比較

    ③ PWM 生成(邊緣或中間對(duì)齊模式) 

    ④ 單脈沖模式輸出
  • 可使用外部信號(hào)(TIMx_ETR)控制定時(shí)器和定時(shí)器互連(可以用 1 個(gè)定時(shí)器控制另外一個(gè)定時(shí)器)的同步電路。
  • 如下事件發(fā)生時(shí)產(chǎn)生中斷/DMA(6個(gè)獨(dú)立的IRQ/DMA請(qǐng)求生成器):
    ①更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過(guò)軟件或者內(nèi)部/外部觸發(fā)) 
    
      ②觸發(fā)事件(計(jì)數(shù)器啟動(dòng)、停止、初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù)) 
    
      ③輸入捕獲 
    
      ④輸出比較 
    
      ⑤支持針對(duì)定位的增量(正交)編碼器和霍爾傳感器電路 
    
      ⑥觸發(fā)輸入作為外部時(shí)鐘或者按周期的電流管理
    

STM32 的通用定時(shí)器可以被用于:測(cè)量輸入信號(hào)的脈沖長(zhǎng)度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和 PWM)等。

使用定時(shí)器預(yù)分頻器和 RCC 時(shí)鐘控制器預(yù)分頻器,脈沖長(zhǎng)度和波形周期可以在幾個(gè)微秒到幾個(gè)毫秒間調(diào)整。STM32 的每個(gè)通用定時(shí)器都是完全獨(dú)立的,沒(méi)有互相共享的任何資源。

3. 計(jì)數(shù)器模式

通用定時(shí)器可以向上計(jì)數(shù)、向下計(jì)數(shù)、向上向下雙向計(jì)數(shù)模式。

①向上計(jì)數(shù)模式:計(jì)數(shù)器從0計(jì)數(shù)到自動(dòng)加載值(TIMx_ARR),然后重新從0開(kāi)始計(jì)數(shù)并且產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。

②向下計(jì)數(shù)模式:計(jì)數(shù)器從自動(dòng)裝入的值(TIMx_ARR)開(kāi)始向下計(jì)數(shù)到0,然后從自動(dòng)裝入的值重新開(kāi)始,并產(chǎn)生一個(gè)計(jì)數(shù)器向下溢出事件。

③中央對(duì)齊模式(向上/向下計(jì)數(shù)):計(jì)數(shù)器從0開(kāi)始計(jì)數(shù)到自動(dòng)裝入的值-1,產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件,然后向下計(jì)數(shù)到1并且產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件;然后再?gòu)?開(kāi)始重新計(jì)數(shù)。

圖片

** 4. 定時(shí)器工作原理**

a.定時(shí)器框圖

下面就是STM32定時(shí)器的工作款圖了,是學(xué)習(xí)STM32定時(shí)器必須要掌握的。很多學(xué)習(xí)者學(xué)會(huì)了通過(guò)庫(kù)函數(shù)來(lái)配置定時(shí)器,實(shí)現(xiàn)了簡(jiǎn)單的應(yīng)用卻忽略了基本原理,這就對(duì)導(dǎo)致在復(fù)雜應(yīng)用的設(shè)計(jì)上出現(xiàn)低級(jí)的錯(cuò)誤。所以建議讀者認(rèn)真掌握定時(shí)器的工作框圖,明白內(nèi)在的原理。

圖片

框圖可以分為四個(gè)大部分(用紅色筆表示出),分別是:①時(shí)鐘產(chǎn)生器部分,②時(shí)基單元部分,③輸入捕獲部分、④輸出比較部分。

b.時(shí)鐘產(chǎn)生器部分

在第一部分時(shí)鐘選擇上,STM32定時(shí)器有四種時(shí)鐘源選擇(圖中藍(lán)色筆標(biāo)識(shí)),分別是:

①內(nèi)部時(shí)鐘(CK_INT)

②外部時(shí)鐘模式:外部觸發(fā)輸入(ETR)

③內(nèi)部觸發(fā)輸入(ITRx):使用一個(gè)定時(shí)器作為另一個(gè)定時(shí)器的預(yù)分頻器,如可以配置一個(gè)定時(shí)器Timer1而作為另一個(gè)定時(shí)器Timer2的預(yù)分頻器。

④外部時(shí)鐘模式:外部輸入腳(TIx)

圖片

這四種情況可由右圖表示:

其中,內(nèi)部觸發(fā)輸入口1~4除了ITR1/ITR2/ITR3/ITR4之外還有一種情況:用一個(gè)定時(shí)器作為另一個(gè)定時(shí)器的分頻器。

外部捕獲比較引腳有兩種,分別是:

引腳1:TI1FP1或TI1F_ED

引腳2:TI2FP2

c.時(shí)基單元

時(shí)基單元就是定時(shí)器框圖的第二部分,它包括三個(gè)寄存器,分別是:計(jì)數(shù)器寄存器(TIMx_CNT)、預(yù)分頻器寄存器(TIMx_PSC)和自動(dòng)裝載寄存器(TIMx_ARR)。對(duì)這三個(gè)寄存器的介紹如下:

計(jì)數(shù)器寄存器(TIMx_CNT)

向上計(jì)數(shù)、向下計(jì)數(shù)或者中心對(duì)齊計(jì)數(shù);

計(jì)數(shù)器寄存器(TIMx_CNT)

可將時(shí)鐘頻率按1到65535之間的任意值進(jìn)行分頻,可在運(yùn)行時(shí)改變其設(shè)置值;

自動(dòng)裝載寄存器(TIMx_ARR)

如果TIMx_CR1寄存器中的ARPE位為0,ARR寄存器的內(nèi)容將直接寫(xiě)入影子寄存器;如果ARPE為1,ARR寄存器的那日同將在每次的更新時(shí)間UEV發(fā)生時(shí),傳送到影子寄存器;

如果TIM1_CR1中的UDIS位為0,當(dāng)計(jì)數(shù)器產(chǎn)生溢出條件時(shí),產(chǎn)生更新事件。

d.輸入捕獲通道

IC1、2和IC3、4可以分別通過(guò)軟件設(shè)置將其映射到TI1、TI2和TI3、TI4;

4個(gè)16位捕捉比較寄存器可以編程用于存放檢測(cè)到對(duì)應(yīng)的每一次輸入捕捉時(shí)計(jì)數(shù)器的值;

當(dāng)產(chǎn)生一次捕捉,相應(yīng)的CCxIF標(biāo)志位被置1;同時(shí)如果中斷或DMA請(qǐng)求使能,則產(chǎn)生中斷或DMA請(qǐng)求。

如果當(dāng)CCxIF標(biāo)志位已經(jīng)為1,當(dāng)又產(chǎn)生一個(gè)捕捉,則捕捉溢出標(biāo)志位CCxOF將被置1。

v圖片

e.輸出比較通道(PWM)

PWM模式運(yùn)行產(chǎn)生:

定時(shí)器2、3和4可以產(chǎn)生4獨(dú)立的信號(hào)

    頻率和占空比可以進(jìn)行如下設(shè)定:

            一個(gè)自動(dòng)重載寄存器用于設(shè)定PWM的周期;

            每個(gè)PWM通道有一個(gè)捕捉比較寄存器用于設(shè)定占空時(shí)間。

            例如:產(chǎn)生一個(gè)40KHz的PWM信號(hào):在定時(shí)器2的時(shí)鐘為72MHz下,占空比為50% :

                    預(yù)分頻寄存器設(shè)置為0 (計(jì)數(shù)器的時(shí)鐘為T(mén)IM1CLK/(O+1)),自動(dòng)重載寄存器設(shè)為                         1799,CCRx寄存器設(shè)為899。

兩種可設(shè)置PWM模式:

邊沿對(duì)齊模式

    中心對(duì)齊模式

圖片

二、定時(shí)器中斷應(yīng)用

1.內(nèi)部時(shí)鐘選擇

圖片

圖片

除非APB1的分頻系數(shù)是1,否則通用定時(shí)器的時(shí)鐘等于APB1時(shí)鐘的2倍。

默認(rèn)調(diào)用SystemInit函數(shù)情況下:

SYSCLK=72M

AHB時(shí)鐘=72M

APB1時(shí)鐘=36M

所以APB1的分頻系數(shù)=AHB/APB1時(shí)鐘=2

所以,通用定時(shí)器時(shí)鐘CK_INT=2*36M=72M

2.計(jì)數(shù)器模式

向下計(jì)數(shù)模式:(時(shí)鐘分頻因子=1)

圖片

圖片

  • 向下計(jì)數(shù)模式:(時(shí)鐘分頻因子=1)

圖片

中央對(duì)齊計(jì)數(shù)模式:(時(shí)鐘分頻因子=1 ARR=6)圖片圖片

** 3.定時(shí)器中斷實(shí)驗(yàn)相關(guān)寄存器**

  • 計(jì)數(shù)器當(dāng)前值寄存器CNT

圖片

  • 預(yù)分頻寄存器TIMx_PSC

圖片

  • 自動(dòng)重裝載寄存器(TIMx_ARR)

圖片

  • 控制寄存器1(TIMx_CR1)

圖片

  • DMA中斷使能寄存器(TIMx_DIER)

圖片

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

    關(guān)注

    48

    文章

    7649

    瀏覽量

    152106
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3255

    瀏覽量

    115369
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1216

    瀏覽量

    52377
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    stm32定時(shí)器中斷程序

    STM32定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做一些基本的定時(shí),還可以做PWM輸出或者輸入捕獲功能。 以下是進(jìn)行
    發(fā)表于 10-12 16:59 ?1.3w次閱讀

    STM32-基本定時(shí)器TIM6-TIM7基本定時(shí)功能

     STM32中一共有11個(gè)定時(shí)器,其中2個(gè)高級(jí)控制定時(shí)器,4個(gè)普通定時(shí)器和2個(gè)基本定時(shí)器,以及2個(gè)看門(mén)狗
    發(fā)表于 11-27 18:55 ?1.2w次閱讀
    <b class='flag-5'>STM32-</b>基本<b class='flag-5'>定時(shí)器</b>TIM6-TIM7基本<b class='flag-5'>定時(shí)</b>功能

    STM32-通用定時(shí)器基本定時(shí)功能資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32-通用定時(shí)器基本定時(shí)功能資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-12 08:44 ?4次下載
    <b class='flag-5'>STM32-</b>通用<b class='flag-5'>定時(shí)器</b>基本<b class='flag-5'>定時(shí)</b>功能資料下載

    [STM32]通用定時(shí)器的使用

    STM32的通用定時(shí)器定時(shí)、輸出PWM功能的使用本次還是使用發(fā)光二極管來(lái)驗(yàn)證定時(shí)器的使用目錄STM32的通用
    發(fā)表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定時(shí)器</b>的使用

    STM32——如何配置通用定時(shí)器中斷

    STM32定時(shí)器STM32F103ZET6一共有8個(gè)定時(shí)器,其中分別為:高級(jí)定時(shí)器(TIM1
    發(fā)表于 11-23 17:51 ?14次下載
    <b class='flag-5'>STM32</b>——如何配置通用<b class='flag-5'>定時(shí)器</b>中斷

    STM32定時(shí)器-基本定時(shí)器

    目錄定時(shí)器分類基本定時(shí)器功能框圖講解基本定時(shí)器功能時(shí)鐘源計(jì)數(shù)時(shí)鐘計(jì)數(shù)自動(dòng)重裝載寄存
    發(fā)表于 11-23 18:21 ?31次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b>-基本<b class='flag-5'>定時(shí)器</b>

    STM32——高級(jí)定時(shí)器、通用定時(shí)器、基本定時(shí)器的區(qū)別

    STM32——高級(jí)定時(shí)器、通用定時(shí)器、基本定時(shí)器的區(qū)別
    發(fā)表于 11-26 15:21 ?110次下載
    <b class='flag-5'>STM32</b>——高級(jí)<b class='flag-5'>定時(shí)器</b>、通用<b class='flag-5'>定時(shí)器</b>、基本<b class='flag-5'>定時(shí)器</b>的區(qū)別

    STM32-通用定時(shí)器-PWM輸出

    1 通用定時(shí)器PWM概述1.1STM32定時(shí)器輸出通道引腳這里以TIM3為例來(lái)講解。STM32的通用定時(shí)
    發(fā)表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32-</b>通用<b class='flag-5'>定時(shí)器</b>-PWM輸出

    STM32-通用定時(shí)器-定時(shí)器中斷

    1STM32定時(shí)器STM32F103ZET6一共有8個(gè)定時(shí)器,其中分別為:高級(jí)定時(shí)器(TIM1
    發(fā)表于 11-26 15:36 ?16次下載
    <b class='flag-5'>STM32-</b>通用<b class='flag-5'>定時(shí)器</b>-<b class='flag-5'>定時(shí)器</b>中斷

    STM32---定時(shí)器知多少

    STM32定時(shí)器知多少這里寫(xiě)目錄標(biāo)題STM32---定時(shí)器知多少定時(shí)器的分類定時(shí)器的工作原理
    發(fā)表于 11-30 14:36 ?19次下載
    <b class='flag-5'>STM32</b>---<b class='flag-5'>定時(shí)器</b>知多少

    STM32定時(shí)器學(xué)習(xí)---基本定時(shí)器

    STM32F1系列的產(chǎn)品,除了互聯(lián)網(wǎng)產(chǎn)品外,工作8個(gè),3種定時(shí)器,其中一種就是基本定時(shí)器。那么STM32單片機(jī)的基本定時(shí)器如何操作以及編程呢
    發(fā)表于 12-02 14:06 ?28次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b>學(xué)習(xí)---基本<b class='flag-5'>定時(shí)器</b>

    STM32的通用定時(shí)器

    STM32F1定時(shí)器非常多,由 2 個(gè)基本定時(shí)器(TIM6、TIM7)、4 個(gè)通用定時(shí)器(TIM2-TIM5)和 2 個(gè)高級(jí)定時(shí)器(TI
    的頭像 發(fā)表于 02-10 14:47 ?3546次閱讀

    剖析STM32-定時(shí)器2

    定時(shí)器作為微控制不可缺少的外設(shè),在STM32中也是如此。相信不少初學(xué)者學(xué)到定時(shí)器的時(shí)候?qū)?b class='flag-5'>STM32的學(xué)習(xí)熱情就大打折扣甚至想要放棄了,因?yàn)?/div>
    的頭像 發(fā)表于 04-21 15:14 ?1442次閱讀

    剖析STM32-定時(shí)器3

    定時(shí)器作為微控制不可缺少的外設(shè),在STM32中也是如此。相信不少初學(xué)者學(xué)到定時(shí)器的時(shí)候?qū)?b class='flag-5'>STM32的學(xué)習(xí)熱情就大打折扣甚至想要放棄了,因?yàn)?/div>
    的頭像 發(fā)表于 04-21 15:14 ?2411次閱讀
    <b class='flag-5'>剖析</b><b class='flag-5'>STM32-</b><b class='flag-5'>定時(shí)器</b>3

    STM32 TIM—基本定時(shí)器

    STM32F4xx系列控制有共有14個(gè)TIM定時(shí)器。其中2個(gè)高級(jí)控制定時(shí)器TIM1和TIM8、10 個(gè)通用
    的頭像 發(fā)表于 07-22 17:05 ?5227次閱讀
    <b class='flag-5'>STM32</b> TIM—基本<b class='flag-5'>定時(shí)器</b>
    百家乐官网那个平好| 黄金城| 百家乐官网丽| 38坊| 百家乐官网送钱平台| 明升备用网站| 太阳城百家乐客户端| 百家乐官网好多假网站| 百家乐路技巧| 赌百家乐官网到底能赌博赢| 濮阳县| 百家乐官网视频游戏网站| 乐宝百家乐的玩法技巧和规则| 至尊百家乐官网网| 大发888客服电话| 澳门百家乐赢钱秘诀| 百家乐官网网络赌博网址| 大发888电话多少| 怎样玩百家乐赢钱| 百家乐官网软件编辑原理| 大发888赌博网站大全| 百家乐规则好学吗| 百家乐官网娱乐皇冠世界杯| 大发888游戏平台hg dafa 888 gw| 尊龙百家乐官网娱乐| 和田县| 老虎机单机游戏下载| 永利博百家乐现金网| 百家乐官网棋牌作弊器| 久盛国际| 法拉利百家乐的玩法技巧和规则| 丽景湾百家乐官网的玩法技巧和规则 | 百家乐官网珠盘路| 明珠国际| 逍遥坊百家乐的玩法技巧和规则 | 诚信百家乐平台| 百家乐官网3珠路法| 龙虎机| 大发888娱乐场下载英皇国际| 百家乐赌博论谈| 七胜国际娱乐|