STM32學習筆記——利用通用定時器TIM2進行精確延時
1.1概述
本文引用地址:http://m.butianyuan.cn/article/201611/322899.htm在作者所使用的stm32芯片上,共有TIM11個高級定時器以及TIM2、TIM3、TIM4共3個通用定時器。其中各通用定時器均由一個通過可編程預分頻器驅(qū)動的16位自動裝載計數(shù)器構成。適用于多種場合,包括測量輸入信號的脈沖長度(輸入采集)或者產(chǎn)生輸出波形(輸出比較和PWM)。使用定時器預分頻器和RCC時鐘控制器預分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調(diào)整。定時器是完全獨立的,而且沒有互相共享任何資源。它們可以一起同步操作。
1.2性能
通用TIMx定時器特性包括:
- 16位向上,向下,向上/向下自動裝載計數(shù)器
- 16位可編程預分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值
- 4個獨立通道:
─輸入捕獲
─輸出比較
─PWM生成(邊緣或中間對齊模式)
─單脈沖模式輸出
- 使用外部信號控制定時器和定時器互連的同步電路
- 如下事件發(fā)生時產(chǎn)生中斷/DMA:
─更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))
─觸發(fā)事件(計數(shù)器啟動,停止,初始化或者由內(nèi)部/外部觸發(fā)計數(shù))
─輸入捕獲
─輸出比較
1.3部分寄存器
由于通用定時器較為復雜,此處僅介紹如何利用TIM2進行精確延時。下面介紹是TIM中與本篇內(nèi)容有關的寄存器。
1.3.1控制寄存器1(TIMx_CR1)
1.3.2DMA/中斷使能寄存器(TIMx_DIER)
本篇中只關心其第6位及第0位
由于需要TIM在更新時產(chǎn)生中斷,因此這兩位都必須置1。
1.3.3預分頻器(TIMx_PSC)
該分頻器對時鐘進行分頻,并作為計數(shù)器時鐘。
時鐘來源有4種:
1)內(nèi)部時鐘(CK_INT)
2)外部時鐘模式1:外部輸入腳(TIx)
3)外部時鐘模式2:外部觸發(fā)輸入(ETR)
4)內(nèi)部觸發(fā)輸入(ITRx):使用A定時器作為B定時器的預分頻器(A為B提供時鐘)。
具體選擇可以通過TIMx_SMCR寄存器相關位來設置。
評論