ENTER TITLE基本定時(shí)器Basic timer (TIM6/TIM7)
01TIM6和TIM7簡介
基本定時(shí)器TIM6和TIM7各包含一個(gè)16位自動裝載計(jì)數(shù)器,由各自的可編程預(yù)分頻器驅(qū)動。這2個(gè)定時(shí)器是互相獨(dú)立的,不共享任何資源。
02主要特性
TIM6和TIM7定時(shí)器的主要功能包括:
①16位自動重裝載累加計(jì)數(shù)器;
②16位可編程(可實(shí)時(shí)修改)預(yù)分頻器,用于對輸入的時(shí)鐘按系數(shù)為1~65536之間的任意數(shù)值分頻器;
③在更新事件(計(jì)數(shù)器溢出)時(shí)產(chǎn)生中斷/DMA請求。
03功能
這個(gè)可編程定時(shí)器的主要部分是一個(gè)帶有自動重裝載的16位累加計(jì)數(shù)器,計(jì)數(shù)器的時(shí)鐘通過一個(gè)預(yù)分頻器得到。
軟件可以讀寫計(jì)數(shù)器、自動重裝載寄存器和預(yù)分頻寄存器,即使計(jì)數(shù)器運(yùn)行時(shí)也可以操作。
自動重裝載寄存器是預(yù)加載的,每次讀寫自動重裝載寄存器時(shí),實(shí)際上是通過讀寫預(yù)加載寄存器(Prescaler control register)實(shí)現(xiàn)。
當(dāng)TIMx_CR1寄存器的UDIS位為’0’,則每當(dāng)計(jì)數(shù)器達(dá)到溢出值時(shí),硬件發(fā)出更新事件;軟件也可以產(chǎn)生更新事件。
根據(jù)TIMx_CR1寄存器中的自動重裝載預(yù)加載使能位(ARPE),寫入預(yù)加載寄存器的內(nèi)容能夠立即或在每次更新事件時(shí),傳送到它的影子寄存器。
計(jì)數(shù)器由預(yù)分頻輸出CK_CNT驅(qū)動,設(shè)置TIMx_CR1寄存器中的計(jì)數(shù)器使能位(CEN)使能計(jì)數(shù)器計(jì)數(shù)。
ENTER TITLE預(yù)分頻器(Prescaler description)
預(yù)分頻可以以系數(shù)介于1至65536之間的任意數(shù)值對計(jì)數(shù)器時(shí)鐘分頻。它是通過一個(gè)16位寄存器 (TIMx_PSC)的計(jì)數(shù)實(shí)現(xiàn)分頻。因?yàn)門IMx_PSC控制寄存器具有緩沖,可以在運(yùn)行過程中改變它的數(shù)值,新的預(yù)分頻數(shù)值將在下一個(gè)更新事件時(shí)起作用。
預(yù)分頻系數(shù)從1變到2的計(jì)數(shù)器時(shí)序圖
ENTER TITLE計(jì)數(shù)模式
計(jì)數(shù)器從0累加計(jì)數(shù)到自動重裝載數(shù)值(TIMx_ARR寄存器),然后重新從0開始計(jì)數(shù)并產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。
每次計(jì)數(shù)器溢出時(shí)可以產(chǎn)生更新事件;(通過軟件或使用從模式控制器)設(shè)置TIMx_EGR寄存器的 UG位也可以產(chǎn)生更新事件。
設(shè)置TIMx_CR1中的UDIS位可以禁止產(chǎn)生UEV事件,這可以避免在寫入預(yù)加載寄存器時(shí)更改影子寄存器。在清除UDIS位為’0’之前,將不再產(chǎn)生更新事件,但計(jì)數(shù)器和預(yù)分頻器依然會在應(yīng)產(chǎn)生更新事件時(shí)重新從0開始計(jì)數(shù)(但預(yù)分頻系數(shù)不變)。
另外,如果設(shè)置了TIMx_CR1寄存器中的 URS(選擇更新請求),設(shè)置UG位可以產(chǎn)生一次更新事件UEV,但不設(shè)置UIF標(biāo)志(即沒有中斷或 DMA請求)。
當(dāng)發(fā)生一次更新事件時(shí),所有寄存器會被更新并(根據(jù)URS位)設(shè)置更新標(biāo)志(TIMx_SR寄存器的UIF位):
● 傳送預(yù)裝載值(TIMx_PSC寄存器的內(nèi)容)至預(yù)分頻器的緩沖區(qū)。
● 自動重裝載影子寄存器被更新為預(yù)裝載值(TIMx_ARR)。
以下是一些在TIMx_ARR=0x36時(shí)不同時(shí)鐘頻率下計(jì)數(shù)器工作的圖示例子。
計(jì)數(shù)器時(shí)序圖:
內(nèi)部時(shí)鐘分頻系數(shù)為1
內(nèi)部時(shí)鐘分頻系數(shù)為2
ENTER TITLE時(shí)鐘源
計(jì)數(shù)器的時(shí)鐘由內(nèi)部時(shí)鐘(CK_INT)提供。
TIMx_CR1寄存器的CEN位和TIMx_EGR寄存器的UG位是實(shí)際的控制位,(除了UG位被自動清 除外)只能通過軟件改變它們。一旦置CEN位為’1’,內(nèi)部時(shí)鐘即向預(yù)分頻器提供時(shí)鐘。下圖示出控制電路和向上計(jì)數(shù)器在普通模式下,沒有預(yù)分頻器時(shí)的操作。
ENTER TITLE調(diào)試模式
當(dāng)微控制器進(jìn)入調(diào)試模式(Cortex-M3核心停止)時(shí),根據(jù)DBG模塊中的配置位DBG_TIMx_STOP 的設(shè)置,TIMx計(jì)數(shù)器或者繼續(xù)計(jì)數(shù)或者停止工作。
審核編輯 :李倩
-
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120230 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94476 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3246瀏覽量
114715
原文標(biāo)題:基于Stm32F030的基礎(chǔ)定時(shí)器(Basic timer)學(xué)習(xí)筆記1
文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機(jī)匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論