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