日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【STM32】通用定时器(TIM2到TIM5)

發布時間:2024/4/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STM32】通用定时器(TIM2到TIM5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 通用定時器簡介
    • 02. TIM2到TIM5主要特性
    • 03. TIM2到TIM5功能說明
    • 04. 時鐘選擇
    • 05. 寄存器
      • 5.1 TIMx 控制寄存器 1 (TIMx_CR1)
      • 5.2 TIMx 控制寄存器 2 (TIMx_CR2)
      • 5.3 TIMx 從模式控制寄存器 (TIMx_SMCR)
      • 5.4 TIMx DMA/ 中斷使能寄存器 (TIMx_DIER)
      • 5.5 TIMx 狀態寄存器 (TIMx_SR)
      • 5.6 TIMx 事件生成寄存器 (TIMx_EGR)
      • 5.7 TIMx 捕獲/ 比較模式寄存器 1 (TIMx_CCMR1)
      • 5.8 TIMx 捕獲/ 比較模式寄存器 2 (TIMx_CCMR2)
      • 5.9 TIMx 捕獲/ 比較使能寄存器 (TIMx_CCER)
      • 5.10 TIMx 計數器 (TIMx_CNT)
      • 5.11 TIMx 預分頻器 (TIMx_PSC)
      • 5.12 TIMx 自動重載寄存器 (TIMx_ARR)
      • 5.13 TIMx 捕獲/ 比較寄存器 1 (TIMx_CCR1)
      • 5.14 TIMx 捕獲/ 比較寄存器 2 (TIMx_CCR2)
      • 5.15 TIMx 捕獲/ 比較寄存器 3 (TIMx_CCR3)
      • 5.16 TIMx 捕獲/ 比較寄存器 4 (TIMx_CCR4)
      • 5.17 TIMx DMA 控制寄存器 (TIMx_DCR)
      • 5.18 TIMx 全傳輸 DMA 地址 (TIMx_DMAR)
      • 5.19 TIM2 選項寄存器 (TIM2_OR)
      • 5.20 TIM5 選項寄存器 (TIM5_OR)
    • 06. 附錄
    • 07. 聲明

01. 通用定時器簡介

通用定時器包含一個 16 位或 32 位自動重載計數器,該計數器由可編程預分頻器驅動。

它們可用于多種用途,包括測量輸入信號的脈沖寬度( 輸入捕獲 )或生成輸出波形( 輸出比較和 PWM)。

使用定時器預分頻器和 RCC 時鐘控制器預分頻器,可將脈沖寬度和波形周期從幾微秒調制到幾毫秒。

這些定時器彼此完全獨立,不共享任何資源。

02. TIM2到TIM5主要特性

通用 TIMx 定時器具有以下特性:
● 16 位(TIM3 和 TIM4)或 32 位(TIM2 和 TIM5) 遞增、遞減和遞增/遞減自動重載計數器。
● 16 位可編程預分頻器,用于對計數器時鐘頻率進行分頻(即運行時修改),分頻系數介于 1 到 65536 之間。
● 多達 4 個獨立通道,可用于:
— 輸入捕獲
— 輸出比較
— PWM 生成(邊沿和中心對齊模式)
— 單脈沖模式輸出
● 使用外部信號控制定時器且可實現多個定時器互連的同步電路。
● 發生如下事件時生成中斷/DMA 請求:
— 更新:計數器上溢/下溢、計數器初始化(通過軟件或內部/外部觸發)
— 觸發事件(計數器啟動、停止、初始化或通過內部/外部觸發計數)
— 輸入捕獲
— 輸出比較
● 支持定位用增量(正交)編碼器和霍爾傳感器電路
● 外部時鐘觸發輸入或逐周期電流管理

03. TIM2到TIM5功能說明

時基單元

可編程定時器的主要模塊由一個 16 位/32 位計數器及其相關的自動重裝寄存器組成。此計數器可采用遞增方式計數。計數器的時鐘可通過預分頻器進行分頻。

計數器、自動重載寄存器和預分頻器寄存器可通過軟件進行讀寫。即使在計數器運行時也可執行讀寫操作。

時基單元包括:

● 計數器寄存器 (TIMx_CNT)

● 預分頻器寄存器 (TIMx_PSC)

● 自動重載寄存器 (TIMx_ARR)

自動重載寄存器是預裝載的。對自動重載寄存器執行寫入或讀取操作時會訪問預裝載寄存器。預裝載寄存器的內容既可以直接傳送到影子寄存器,也可以在每次發生更新事件 (UEV)時傳送到影子寄存器,這取決于 TIMx_CR1 寄存器中的自動重載預裝載使能位 (ARPE)。當計數器達到上溢值(或者在遞減計數時達到下溢值)并且 TIMx_CR1 寄存器中的 UDIS 位為0 時,將發送更新事件。該更新事件也可由軟件產生。下文將針對各配置的更新事件的產生進行詳細介紹。

計數器由預分頻器輸出 CK_CNT 提供時鐘,僅當 TIMx_CR1 寄存器中的計數器啟動位 (CEN)置 1 時,才會啟動計數器(有關計數器使能的更多詳細信息,另請參見從模式控制器的相關說明)。

請注意,真正的計數器使能信號 CNT_EN 在 CEN 置 1 的一個時鐘周期后被置 1。

預分頻器說明

預分頻器可對計數器時鐘頻率進行分頻,分頻系數介于 1 到 65536 之間。該預分頻器基于16 位/32 位寄存器(TIMx_PSC 寄存器)所控

制的 16 位計數器。由于該控制寄存器具有緩沖功能,因此預分頻器可實現實時更改。而新的預分頻比將在下一更新事件發生時被采用。

圖 120 和 圖 121 給出了在預分頻比發生實時變化時一些計數器行為的示例:

預分頻器分頻由 1 變為 2 時的計數器時序圖

預分頻器分頻由 1 變為 4 時的計數器時序圖

計數器模式

遞增計數模式

在遞增計數模式下,計數器從 0 計數到自動重載值(TIMx_ARR 寄存器的內容),然后重新從 0 開始計數并生成計數器上溢事件。

遞減計數模式

在遞減計數模式下,計數器從自動重載值(TIMx_ARR 寄存器的內容)開始遞減計數到 0,然后重新從自動重載值開始計數并生成計數器

下溢事件。

中心對齊模式(遞增/ 遞減計數)

在中心對齊模式下,計數器從 0 開始計數到自動重載值(TIMx_ARR 寄存器的內容)— 1,生成計數器上溢事件;然后從自動重載值開始

向下計數到 1 并生成計數器下溢事件。之后從0 開始重新計數。

04. 時鐘選擇

計數器時鐘可由下列時鐘源提供:

● 內部時鐘 (CK_INT)

● 外部時鐘模式 1:外部輸入引腳 (TIx)

● 外部時鐘模式 2:外部觸發輸入 (ETR),僅適用于 TIM2、TIM3 和 TIM4。

● 內部觸發輸入 (ITRx):使用一個定時器作為另一個定時器的預分頻器,例如可以將定時器配置為定時器 2 的預分頻器。

05. 寄存器

5.1 TIMx 控制寄存器 1 (TIMx_CR1)

TIMx control register 1
偏移地址:0x00
復位值:0x0000

5.2 TIMx 控制寄存器 2 (TIMx_CR2)

TIMx control register 2
偏移地址:0x04
復位值:0x0000

5.3 TIMx 從模式控制寄存器 (TIMx_SMCR)

TIMx slave mode control register
偏移地址:0x08
復位值:0x0000

5.4 TIMx DMA/ 中斷使能寄存器 (TIMx_DIER)

TIMx DMA/Interrupt enable register
偏移地址:0x0C
復位值:0x0000

5.5 TIMx 狀態寄存器 (TIMx_SR)

TIMx status register
偏移地址:0x10
復位值:0x0000

5.6 TIMx 事件生成寄存器 (TIMx_EGR)

TIMx event generation register
偏移地址:0x14
復位值:0x0000

5.7 TIMx 捕獲/ 比較模式寄存器 1 (TIMx_CCMR1)

TIMx capture/compare mode register 1
偏移地址:0x18
復位值:0x0000

5.8 TIMx 捕獲/ 比較模式寄存器 2 (TIMx_CCMR2)

TIMx capture/compare mode register 2
偏移地址:0x1C
復位值:0x0000

5.9 TIMx 捕獲/ 比較使能寄存器 (TIMx_CCER)

TIMx capture/compare enable register
偏移地址:0x20
復位值:0x0000

5.10 TIMx 計數器 (TIMx_CNT)

TIMx counter
偏移地址:0x24
復位值:0x0000

5.11 TIMx 預分頻器 (TIMx_PSC)

TIMx prescaler
偏移地址:0x28
復位值:0x0000

5.12 TIMx 自動重載寄存器 (TIMx_ARR)

TIMx auto-reload register
偏移地址:0x2C
復位值:0x0000

5.13 TIMx 捕獲/ 比較寄存器 1 (TIMx_CCR1)

TIMx capture/compare register 1
偏移地址:0x34
復位值:0x0000 000

5.14 TIMx 捕獲/ 比較寄存器 2 (TIMx_CCR2)

TIMx capture/compare register 2
偏移地址:0x38
復位值:0x0000 0000

5.15 TIMx 捕獲/ 比較寄存器 3 (TIMx_CCR3)

TIMx capture/compare register 3
偏移地址:0x3C
復位值:0x0000 0000

5.16 TIMx 捕獲/ 比較寄存器 4 (TIMx_CCR4)

TIMx capture/compare register 4
偏移地址:0x40
復位值:0x0000 0000

5.17 TIMx DMA 控制寄存器 (TIMx_DCR)

TIMx DMA control register
偏移地址:0x48
復位值:0x0000

5.18 TIMx 全傳輸 DMA 地址 (TIMx_DMAR)

TIMx DMA address for full transfer
偏移地址:0x4C
復位值:0x0000

5.19 TIM2 選項寄存器 (TIM2_OR)

TIM2 option register
偏移地址:0x50
復位值:0x0000

5.20 TIM5 選項寄存器 (TIM5_OR)

TIM5 option register
偏移地址:0x50
復位值:0x0000

06. 附錄

6.1 【STM32】STM32系列教程匯總

網址:【STM32】STM32系列教程匯總

07. 聲明

該教程參考了正點原子的《STM32 F4 開發指南》

總結

以上是生活随笔為你收集整理的【STM32】通用定时器(TIM2到TIM5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。