新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記——利用通用定時器TIM2進(jìn)行精確延時

STM32學(xué)習(xí)筆記——利用通用定時器TIM2進(jìn)行精確延時

作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
1.通用定時器概述及性能

1.1概述

本文引用地址:http://butianyuan.cn/article/201611/322899.htm

在作者所使用的stm32芯片上,共有TIM11個高級定時器以及TIM2、TIM3、TIM4共3個通用定時器。其中各通用定時器均由一個通過可編程預(yù)分頻器驅(qū)動的16位自動裝載計(jì)數(shù)器構(gòu)成。適用于多種場合,包括測量輸入信號的脈沖長度(輸入采集)或者產(chǎn)生輸出波形(輸出比較和PWM)。使用定時器預(yù)分頻器和RCC時鐘控制器預(yù)分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調(diào)整。定時器是完全獨(dú)立的,而且沒有互相共享任何資源。它們可以一起同步操作。

1.2性能

通用TIMx定時器特性包括:

  • 16位向上,向下,向上/向下自動裝載計(jì)數(shù)器
  • 16位可編程預(yù)分頻器,計(jì)數(shù)器時鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值
  • 4個獨(dú)立通道:

─輸入捕獲

─輸出比較

─PWM生成(邊緣或中間對齊模式)

─單脈沖模式輸出

  • 使用外部信號控制定時器和定時器互連的同步電路
  • 如下事件發(fā)生時產(chǎn)生中斷/DMA:

─更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))

─觸發(fā)事件(計(jì)數(shù)器啟動,停止,初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù))

─輸入捕獲

─輸出比較

1.3部分寄存器

由于通用定時器較為復(fù)雜,此處僅介紹如何利用TIM2進(jìn)行精確延時。下面介紹是TIM中與本篇內(nèi)容有關(guān)的寄存器。

1.3.1控制寄存器1(TIMx_CR1)

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

本篇中只關(guān)心其第6位及第0位

由于需要TIM在更新時產(chǎn)生中斷,因此這兩位都必須置1。

1.3.3預(yù)分頻器(TIMx_PSC)

該分頻器對時鐘進(jìn)行分頻,并作為計(jì)數(shù)器時鐘。

時鐘來源有4種:

1)內(nèi)部時鐘(CK_INT)

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

3)外部時鐘模式2:外部觸發(fā)輸入(ETR)

4)內(nèi)部觸發(fā)輸入(ITRx):使用A定時器作為B定時器的預(yù)分頻器(A為B提供時鐘)。

具體選擇可以通過TIMx_SMCR寄存器相關(guān)位來設(shè)置。


上一頁 1 2 3 下一頁

評論


技術(shù)專區(qū)

關(guān)閉