按時器的相關(guān)寄放器_第1頁
按時器的相關(guān)寄放器_第2頁
按時器的相關(guān)寄放器_第3頁
按時器的相關(guān)寄放器_第4頁
按時器的相關(guān)寄放器_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、按時器在STM32F10 xx逐歹【的32位MCUt,按時器資源十分豐碩,包括高級操縱按時器,通用按時器和大體按時器。另外,還有能夠?qū)崿F(xiàn)按時功能的系統(tǒng)滴答按時器,實(shí)不時鐘和看門狗。關(guān)于這些按時器的介紹,占據(jù)了STM32F10 xx嬉考手冊1/5的篇幅,可見其功能的壯大。在低容量和中容量的STM32F103xx品,和互聯(lián)型產(chǎn)品STM32F105x*口STM32F107x。,只有一個高級操縱按時器TIM1。而在高容量和超大容量的STM32F103xx品中,有兩個高級操縱按時器TIM1和TIM8。在所有STM32F10 xx逐列產(chǎn)品中,都有通用按時器TIM2TIM5,除非還有說明。除此之外,在超大容

2、量產(chǎn)品中,還有通用按時器TIM9TIM14在高容量和超大容量的STM32F101x*口STM32F103x小品,和互聯(lián)型產(chǎn)品STM32F105xxF口STM32F107xxK有兩個大體按時器TIM6和TIM7。其中,高級操縱按時器的功能最為壯大,能夠?qū)崿F(xiàn)所有其他按時器的所有功能。TrailBreaker開發(fā)板利用的是高容量的STM32F103ZE因此有兩個高級操縱按時器TIM1和TIM8。下面咱們就著重介紹這兩個高級操縱按時器。TIM1和TIM8簡介高級操縱按時器(TIM1和TIM8)由一個16位的自動裝載計(jì)數(shù)器組成,它由一個可編程的預(yù)分頻器驅(qū)動。它適合多種用途,包括測量輸入信號的脈沖寬度(輸

3、入捕捉),或產(chǎn)生輸出波形(輸出比較、PWM嵌入死區(qū)時刻的互補(bǔ)PWMH)利用按時器預(yù)分頻器和RCC寸鐘操縱預(yù)分頻器,能夠?qū)崿F(xiàn)脈沖寬度和波形周期從幾個微秒到幾個毫秒的調(diào)劑。關(guān)于實(shí)驗(yàn)頂用到的LED部份原理圖和GPIO跑馬燈實(shí)驗(yàn)所用到的相同,在此再也不多做介紹。TIM1和TIM8按時器的功能包括:16位向上、向下、向上/下自動裝載計(jì)數(shù)器16位可編程(能夠?qū)崟r修改)預(yù)分頻器,計(jì)數(shù)器時鐘頻率的分頻系數(shù)為165535之間的任意數(shù)值多達(dá)4個獨(dú)立通道:一輸入捕捉一輸出比較一PWMft成(邊緣或中間對齊模式)一單脈沖模式輸出死區(qū)時刻可編程的互補(bǔ)輸出利用外部信號操縱按時器和按時器互聯(lián)的同步電路許諾在指定數(shù)量的計(jì)數(shù)器

4、周期以后更新按時器寄放器的重復(fù)計(jì)數(shù)器剎車輸入信號能夠?qū)磿r器輸出信號置于復(fù)位狀態(tài)或一個已知狀態(tài)如下事件發(fā)生時產(chǎn)生中斷/DMA一更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或內(nèi)部/外部觸發(fā))一觸發(fā)事件(計(jì)數(shù)器啟動、停止、初始化或由內(nèi)部/外部觸發(fā)計(jì)數(shù))一輸入捕捉一輸出比較一剎車信號輸入支持針對定位的增量(正交)編碼器和霍爾傳感器電路觸發(fā)輸入作為外部時鐘或按周期的電流治理高級按時器框圖和時鐘簡介牝前/部CK T MlBiTornRCC FT*# tint 4*內(nèi) ffTM -f1時- mi r.*匕 Miw brnAUto DACM0CTIUl CH4 nEtRF需港盟i粒VP*e4cad

5、fgraterstr*i*fTed9active電9里urmmU電MemsecondiPggcarttfsibrttnbtmtpi & DLW output如框圖中的紅框所示,紅框中的部份,也是時基單元(Time-baseunit),對時基單元進(jìn)行設(shè)置,就能夠夠完成基礎(chǔ)的按時器的利用設(shè)置。計(jì)數(shù)器時鐘可由以下時鐘源提供:內(nèi)部時鐘(CK_INT)外部時鐘模式1:外部輸入引腳外部時鐘模式2:外部觸發(fā)輸入ETR內(nèi)部觸發(fā)輸入(ITRx):利用一個按時器作為另一個按時器的預(yù)分頻器。如能夠配置一個按時器Timeri而作為另一個按時器Timer2的預(yù)分頻器。詳見數(shù)據(jù)手冊的通用按時器部份。內(nèi)部時鐘源(CKINT

6、):若是禁止了從模式操縱器(SMS=000),那么CENDIR(TIMx_CR1寄放器)和UG&(TIMx_EGR寄放器)是事實(shí)上的操縱位,而且只能被軟件修改(UG位仍被自動清除)。只要CEN被寫成1,預(yù)分頻器的時鐘就由內(nèi)部時鐘CK_INT是供。以下圖顯示操縱電路和向上計(jì)數(shù)器在一樣模式下,不帶預(yù)分頻器時的操作。外部時鐘源模式1當(dāng)TIMx_SMCRf放器的SMS=11為寸,此模式被選中。計(jì)數(shù)器能夠在選定輸入端的每一個上升沿或下降沿計(jì)數(shù)。以下圖為TI2外部時鐘連接例子例如,要配置向上計(jì)數(shù)器在T12輸入端的上升沿計(jì)數(shù),利用以下步驟:1.配置TIMx_CCMR寄放器CC2s=01.配置TIMx_CCM

7、R寄放器的IC2F3:0,選擇輸入濾波器帶寬(若是不需要濾波器,維持IC2F=0000).配置TIMx_CCERj放器的CC2P=0選定上升沿極性.配置TIMx_SMCRf放器的SMS=111選擇按時器外部時鐘模式1.配置TIMx_SMCRf放器中的TS=11Q選定TI2作為觸發(fā)輸入源.設(shè)置TIMx_CR1寄放器的CEN=1使能計(jì)數(shù)器注:捕捉預(yù)分頻器不用作觸發(fā),因此不需要對它進(jìn)行配置當(dāng)上升沿出此刻TI2,計(jì)數(shù)器計(jì)數(shù)一次,且TIF標(biāo)志被設(shè)置。在TI2的上升沿和計(jì)數(shù)器實(shí)際時鐘之間的延時,取決于在TI2輸入端的從頭同步電路。以下圖為外部時鐘模式1下的操縱電路外部時鐘源模式2選定此模式的方式為:令TI

8、Mx_SMCRf放器中的ECE=1計(jì)數(shù)器能夠在外部觸發(fā)ETR的每一個上升沿或下降沿計(jì)數(shù)。以下圖是外部觸發(fā)輸入的框圖設(shè)置從模式操縱寄放器的ETP位選擇選擇是用ETR仍是ETR的反相來作為觸發(fā)操作例如,要配置在ETR下每2個上升沿計(jì)數(shù)一次的向上計(jì)數(shù)器,利用以下步驟:.本例中不需要濾波器,置TIMXSMCR1放器中的ETF3:0=0000.設(shè)置預(yù)分頻器,置TIMXSMCR1放器中的ETPS1:0=01.選才?ETR的上升沿才測,置TIMx_SMCRf放器中的ETP=0.開啟外部時鐘模式2,寫TIMX_SMCR1放器中的ECE=1.啟動計(jì)數(shù)器,寫TIMx_CR1寄放器中的CEN=1計(jì)數(shù)器在每2個ETR

9、上升沿計(jì)數(shù)一次。在ETR的上升沿和計(jì)數(shù)器實(shí)際時鐘之間的延時取決于在ETRPJ號端的從頭同步電路。以下圖為外部時鐘模式2下的操縱電路如圖,該圖為STM32勺時鐘樹,結(jié)合高級操縱按時器框圖,咱們能夠看出,高級按時器的時鐘不是直接來自APBZ而是來自于輸入為APB2的一個倍頻器。當(dāng)APB2的預(yù)分頻系數(shù)為1時,那個倍頻器不起作用,按時器的時鐘頻率等于APB2的頻率;當(dāng)APB2的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為二、4、8或16)時,那個分頻器起作用,按時器的時鐘頻率等于APB2的頻率相應(yīng)倍數(shù)。假定AHB=36MHz因?yàn)锳PB2W諾的最大頻率為72MHz因此APB2的預(yù)分頻系數(shù)能夠取任意數(shù)值;當(dāng)預(yù)分頻

10、系數(shù)=1時,APB2=72MHzTIMI和TIM8的時鐘頻率=72MHz分頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=36MHz在倍頻器的作用下,TIM1和TIM8的時鐘頻率=72MHz有人會問,既然需要TIM1和TIM8的時鐘頻率為72MHz什么緣故不直接取APB2的預(yù)分頻系數(shù)=1?答案是:APB2但要為TIM1和TIM8提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置那個倍頻器能夠在保證其它外設(shè)利用較低時鐘頻率時,TIM1和TIM8仍能取得較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MH時,APB2因?yàn)槠渌O(shè)備需要,時鐘為36MHz因?yàn)槟莻€倍頻器,TIM1和TIM8仍然能夠取得72MHzB勺時鐘

11、頻率。能夠利用更高的時鐘頻率,無疑提高了按時器的分辨率,這也正是設(shè)計(jì)那個倍頻器的初衷。高級按時器寄放器簡介可編程高級操縱按時器的要緊部份是一個16位計(jì)數(shù)器和與其相關(guān)的自動裝載寄放器。那個計(jì)數(shù)器能夠向上計(jì)數(shù)、向下計(jì)數(shù)或向上向下雙向計(jì)數(shù)。此計(jì)數(shù)器時鐘由預(yù)分頻器分頻取得。計(jì)數(shù)器、自動裝載寄放器和預(yù)分頻器寄放器能夠由軟件讀寫,即便計(jì)數(shù)器還在運(yùn)行讀寫仍然有效。時基單元,也確實(shí)是決定了按時器的大體功能的模塊包括:.計(jì)數(shù)器寄放器(Counterregister,簡寫為TIMx_CNT).預(yù)分頻器寄放器(Prescalerregister,簡寫為TIMx_PSC).自動裝載寄放器(Auto-reloadreg

12、ister,簡寫為TIMx_ARR).重復(fù)次數(shù)寄放器(Repetitioncounterregister,簡寫為TIMx_RCR)這張圖是高級按時器框圖的一部份,細(xì)心的人能夠發(fā)覺預(yù)分頻器寄放器、自動重載寄放器和捕捉/比較寄放器下面有一個陰影,其他的寄放器有些也有陰影。這表示在物理上那個寄放器對應(yīng)2個寄放器:一個是咱們能夠能夠?qū)懭牖蜃x出的寄放器,稱為預(yù)裝載寄放器,另一個是咱們看不見的、無法真正對其讀寫操作的,但在利用中真正起作用的寄放器,稱為影子寄放器.數(shù)據(jù)手冊介紹預(yù)裝載寄放器的內(nèi)容能夠隨時傳送到影子寄放器,即二者是連通的(permanently),或在每一次更新事件(UEV)時才把預(yù)裝載寄放器

13、的內(nèi)容傳送到影子寄放器。原文如下:Theauto-reloadregisterispreloaded.Writingtoorreadingfromtheauto-reloadregisteraccessesthepreloadregister.Thecontentofthepreloadregisteraretransferredintotheshadowregisterpermanentlyorateachupdateevent(UEV),dependingontheauto-reloadpreloadenablebit(ARPE)inTIMx_CR1register.Theupdateev

14、entissentwhenthecounterreachestheoverflow(orunderflowwhendowncounting)andiftheUDISbitequals0intheTIMx_CR1register.Itcanalsobegeneratedbysoftware.Thegenerationoftheupdateeventisdescribedindetailedforeachconfiguration.在圖中的,表示對應(yīng)寄放器的影子寄放器能夠在發(fā)生更新事件時,被更新為它的預(yù)裝載寄放器的內(nèi)容;而圖中的部份,表示對應(yīng)的自動重載寄放器能夠產(chǎn)生一個更新事件(U)或更新事件中斷

15、(UI)。設(shè)計(jì)預(yù)裝載寄放器和影子寄放器的益處是,所有真正需要起作用的寄放器(影子寄放器)能夠在同一個時刻(發(fā)生更新事件時)被更新為所對應(yīng)的預(yù)裝載寄放器的內(nèi)容,如此能夠保證多個通道的操作能夠準(zhǔn)確地同步。若是沒有影子寄放器,軟件更新預(yù)裝載寄放器時,那么同時更新了真正操作的寄放器,因?yàn)檐浖豢赡茉谝粋€相同的時刻同時更新多個寄放器,結(jié)果造成多個通道的時序不能同步,若是再加上例如中斷等其它因素,多個通道的時序關(guān)系有可能會混亂,造成是不可預(yù)知的結(jié)果。預(yù)分頻器能夠?qū)⒂?jì)數(shù)器的時鐘頻率按1到65536之間的任意值分頻。它是基于一個在TIMx_PSCf放器中的16位寄放器操縱的16位計(jì)數(shù)器。因?yàn)槟莻€操縱寄放器帶有

16、緩沖器,它能夠在運(yùn)行時被改變。新的預(yù)分頻器的參數(shù)在下一次更新事件到來時被采納。下面給出了在預(yù)分頻器運(yùn)行時,更改計(jì)數(shù)器參數(shù)的例子當(dāng)預(yù)分頻器的參數(shù)從1變到2時,計(jì)數(shù)器的時序圖如下:當(dāng)預(yù)分頻器的參數(shù)從1變到4時,計(jì)數(shù)器的時序圖如下:預(yù)分頻寄放器列位的描述如下:位15:0PSC15:0:預(yù)分頻值計(jì)數(shù)器的時鐘頻率(CK_CNT等于fCK_PSC/(PSC15:0+1)。PSC的值保留在預(yù)分頻寄放器的預(yù)裝載寄放器中,在每次更新事件時加載至影子寄放器.高級按時器計(jì)數(shù)模式:在向上計(jì)數(shù)模式中,計(jì)數(shù)器從0計(jì)數(shù)到自動加載值(TIMx_ARR計(jì)數(shù)器的內(nèi)容),然后從頭從0開始計(jì)數(shù)而且產(chǎn)生一個計(jì)數(shù)器溢出事件。若是利用了重

17、復(fù)計(jì)數(shù)器功能,在向上計(jì)數(shù)達(dá)到設(shè)置的重復(fù)計(jì)數(shù)次數(shù)(TIMx_RCR)時,產(chǎn)生更新事件(UEV);不然每次計(jì)數(shù)器溢出時才產(chǎn)生更新事件。在事件產(chǎn)生寄放器寄放器中(通過軟件方式或利用從模式操縱器)設(shè)置UG&也一樣能夠產(chǎn)生一個更新事件。設(shè)置TIMx_CR1寄放器中的UDIS位,能夠禁止更新事件;如此能夠幸免在向預(yù)裝載寄放器中寫入新值時更新影子寄放器。在UDIS位被清0之前,將不產(chǎn)生更新事件??墒窃趹?yīng)該產(chǎn)生更新事件時,計(jì)數(shù)器仍會被清0,同時預(yù)分頻器的計(jì)數(shù)也被請0(但預(yù)分頻器的數(shù)值不變)0另外,若是設(shè)置了TIMx_CR1寄放器中的URSa(選擇更新請求),設(shè)置UG位將產(chǎn)生一個更新事件UEV但硬件不設(shè)置UIF

18、標(biāo)志(即不產(chǎn)生中斷或DMA青求)。這是為了幸免在捕捉模式下清除計(jì)數(shù)器時,同時產(chǎn)生更新和捕捉中斷。當(dāng)發(fā)生一個更新事件時,所有的寄放器都被更新,硬件同時(依據(jù)URSa)設(shè)置更新標(biāo)志位(TIMx_SR寄放器中的UIF位)。重復(fù)計(jì)數(shù)器被從頭加載為TIMx_RCRif放器的內(nèi)容。自動裝載影子寄放器被從頭置入預(yù)裝載寄放器的值(TIMx_ARR預(yù)分頻器的緩沖區(qū)被置入預(yù)裝載寄放器的值(TIMx_PSC寄放器的內(nèi)容)o下面給出一些例子,當(dāng)TIMx_ARR=0 x36寸計(jì)數(shù)器在不同時鐘頻率下的動作。內(nèi)部時鐘分頻因子為1時的計(jì)數(shù)器時序圖如下:內(nèi)部時鐘分頻因子為2時的計(jì)數(shù)器時序圖如下:內(nèi)部時鐘分頻因子為4時的計(jì)數(shù)器時

19、序圖如下:內(nèi)部時鐘分頻因子為N時的計(jì)數(shù)器時序圖如下:當(dāng)ARPE=0寸的更新事件(TIMx_ARR沒有預(yù)裝入)時的計(jì)數(shù)器時序圖如下:當(dāng)ARPE=F寸的更新事件(TIMx_ARRS裝入)時的計(jì)數(shù)器時序圖如下:在向下模式中,計(jì)數(shù)器從自動裝入的值(TIMx_ARR計(jì)數(shù)器的值)開始向下計(jì)數(shù)到0,然后從自動裝入的值從頭開始而且產(chǎn)生一個計(jì)數(shù)器向下溢出事件若是利用了重復(fù)計(jì)數(shù)器,當(dāng)向下計(jì)數(shù)重復(fù)了重復(fù)計(jì)數(shù)寄放器(TIMx_RCR)中設(shè)定的次數(shù)后,將產(chǎn)生更新事件(UEV),不然每次計(jì)數(shù)器下溢時才產(chǎn)生更新事件。在TIMx_EGFW放器中(通過軟件方式或利用從模式操縱器)設(shè)置UG位,也一樣能夠產(chǎn)生一個更新事件。設(shè)置TI

20、Mx_CR1寄放器的UDIS位能夠禁止UEV*件。如此能夠幸免向預(yù)裝載寄放器中寫入新值時更新影子寄放器。因此UDIS位被滿為0之前可不能產(chǎn)生更新事件。但是,計(jì)數(shù)器仍會從當(dāng)前自動加載值從頭開始計(jì)數(shù),而且預(yù)分頻器的計(jì)數(shù)重視新從0開始(但預(yù)分頻系數(shù)不變)。另外,若是設(shè)置了TIMx_CR1寄放器中的URSa(選擇更新請求),設(shè)置UG位將產(chǎn)生一個更新事件UEV且不設(shè)置UIF標(biāo)志(因此不產(chǎn)生中斷和DMA青求),這是為了幸免在發(fā)生捕捉事件并清除計(jì)數(shù)器時,同時產(chǎn)生更新和捕捉中斷。當(dāng)發(fā)生更新事件時,所有的寄放器都被更新,而且(依照UR附的設(shè)置)更新標(biāo)志位(TIMx_SR寄放器中的UIF位)也被設(shè)置。重復(fù)計(jì)數(shù)器被

21、重置為TIMx_RCFW放器中的內(nèi)容預(yù)分頻器的緩存器被加載為預(yù)裝載的值(TIMx_PSC寄放器的值)0當(dāng)前的自動加載寄放器被更新為預(yù)裝載值(TIMx_ARR寄放器中的內(nèi)容)0注:自動裝載在計(jì)數(shù)重視載入之前被更新,因此下一個周期將是預(yù)期的值。下面是一些當(dāng)TIMx_ARR=0 x36寸,計(jì)數(shù)器在不同時鐘頻率下的動作。內(nèi)部時鐘分頻因子為1時的計(jì)數(shù)器時序圖如下:內(nèi)部時鐘分頻因子為2時的計(jì)數(shù)器時序圖如下:內(nèi)部時鐘分頻因子為4時的計(jì)數(shù)器時序圖如下:內(nèi)部時鐘分頻因子為N時的計(jì)數(shù)器時序圖如下:當(dāng)沒有利用重復(fù)計(jì)數(shù)器時的更新事件時的計(jì)數(shù)器時序圖:中央對齊模式(up/downcounting)在中央對齊模式,計(jì)數(shù)器

22、從0開始計(jì)數(shù)到自動加載的值(TIMx_ARR寄放器)-s211,產(chǎn)生一個計(jì)數(shù)器溢出事件,然后向下計(jì)數(shù)到1而且產(chǎn)生一個計(jì)數(shù)器下溢事件;然后再從0開始從頭計(jì)數(shù)。在此模式下,不能寫入TIMx_CR1中的DIR方向位。它由硬件更新并指示當(dāng)前的計(jì)數(shù)方向。能夠在每次計(jì)數(shù)上溢和每次計(jì)數(shù)下溢時產(chǎn)生更新事件;也能夠通過(軟件或利用從模式操縱器)設(shè)置TIMx_EGFW放器中的UG位產(chǎn)生更新事件。然后,計(jì)數(shù)重視新從0開始計(jì)數(shù),預(yù)分頻器也從頭從0開始計(jì)數(shù)。設(shè)置TIMx_CR1寄放器中的UDIS位能夠禁止UEV#件。如此能夠幸免在向預(yù)裝載寄放器中寫入新值時更新影子寄放器。因此UDIS位被滿為0之前可不能產(chǎn)生更新事件。但

23、是,計(jì)數(shù)器仍會依照當(dāng)前自動重加載的值,繼續(xù)向上或向下計(jì)數(shù)。另外,若是設(shè)置了TIMx_CR1寄放器中的URSIL(選擇更新請求),設(shè)置UG&將產(chǎn)生一個更新事件UEV且不設(shè)置UIF標(biāo)志(因此不產(chǎn)生中斷和DMAt求),這是為了幸免在發(fā)生捕捉事件并清除計(jì)數(shù)器時,同時產(chǎn)生更新和捕捉中斷。當(dāng)發(fā)生更新事件時,所有的寄放器都被更新,而且(依照UR附的設(shè)置)更新標(biāo)志位(TIMx_SR寄放器中的UIF位)也被設(shè)置。重復(fù)計(jì)數(shù)器被重置為TIMx_RCFW放器中的內(nèi)容預(yù)分頻器的緩存器被加載為預(yù)裝載(TIMx_PSC寄放器)的值。當(dāng)前的自動加載寄放器被更新為預(yù)裝載值(TIMx_ARR寄放器中的內(nèi)容)。注:若是因?yàn)橛?jì)數(shù)器溢

24、出而產(chǎn)生更新,自動重裝載將在計(jì)數(shù)重視載入之前被更新,因此下一個周期將是預(yù)期的值(計(jì)數(shù)器被裝載為新的值)。下面是一些計(jì)數(shù)器在不同時鐘頻率下的操作的例子:內(nèi)部時鐘分頻因子為1,TIMx_ARR=0 x6寸的計(jì)數(shù)器時序圖:內(nèi)部時鐘分頻因子為2時的計(jì)數(shù)器時序圖:內(nèi)部時鐘分頻因子為4,TIMx_ARR=0 x36寸的計(jì)數(shù)器時序圖:注:在此不管是中心對齊模式2或3都是在溢出時與UIF標(biāo)志一路利用內(nèi)部時鐘分頻因子為N,計(jì)數(shù)器時序圖如下:ARPE=F寸的更新事件(計(jì)數(shù)器下溢),計(jì)數(shù)器時序圖如下:計(jì)數(shù)器寄放器列位的描述如下:位15:0ARR15:0:自動重裝載的值(Prescalervalue)ARRfe括了將

25、要裝載入實(shí)際的自動重裝載寄放器的值。詳細(xì)參考數(shù)據(jù)手冊節(jié):有關(guān)ARR勺更新和動作。當(dāng)自動重裝載的值為空時,計(jì)數(shù)器不工作。前面說明了計(jì)數(shù)器上溢/下溢時更新事件(UEV)是如何產(chǎn)生的,但是事實(shí)上它只能在重復(fù)計(jì)數(shù)達(dá)到0的時候產(chǎn)生。那個特性對產(chǎn)生PWM1號超級有效。這意味著在每N次計(jì)數(shù)上溢或下溢時,數(shù)據(jù)從預(yù)裝載寄放器傳輸?shù)接白蛹姆牌鳎═IMx_ARR自動重載入寄放器,TIMx_PSC裝載寄放器,還有在比較模式下的捕捉/比較寄放器TIMx_CCRx)N是TIMx_RCR1復(fù)計(jì)數(shù)寄放器中的值。重復(fù)計(jì)數(shù)器在下述任一條件成立時遞減:向上計(jì)數(shù)模式下每次計(jì)數(shù)器溢出時,向下計(jì)數(shù)模式下每次計(jì)數(shù)器下溢時,中央對齊模式下每

26、次上溢和每次下溢時。盡管如此限制了PWMJ最大循環(huán)周期為128,但它能夠在每一個PWIW期2次更新占空比。在中央對齊模式下,因?yàn)椴ㄐ问菍ΨQ的,若是每一個PWMB期中僅刷新一次比較寄放器,那么最大的分辨率為2xTck。重復(fù)計(jì)數(shù)器是自動加載的,重復(fù)速度是由TIMx_RCFW放器的值概念。當(dāng)更新事件由軟件產(chǎn)生(通過設(shè)置TIMx_EGR中的UGa)或通過硬件的從模式操縱器產(chǎn)生,那么不管重復(fù)計(jì)數(shù)器的值是多少,當(dāng)即發(fā)生更新事件,而且TIMx_RCRtf放器中的內(nèi)容被重載入到重復(fù)計(jì)數(shù)器。以下圖為不同模式下更新速度的例子,及TIMx_RCR勺寄放器設(shè)置重復(fù)計(jì)數(shù)器列位的描述如下:位15:8保留位,始終讀為00位

27、7:0REP7:0:重復(fù)計(jì)數(shù)器的值(Repetitioncountervalue)開啟了預(yù)裝載功能后,這些位許諾用戶設(shè)置比較寄放器的更新速度(即周期性地從預(yù)裝載寄放器傳輸?shù)疆?dāng)前寄放器);若是許諾產(chǎn)生更新中斷,那么會同時阻礙產(chǎn)生更新中斷的速度。每次向下計(jì)數(shù)器REP_CN達(dá)至IJ0,會產(chǎn)生一個更新事件而且計(jì)數(shù)器REP_CNT從頭從REPfi開始計(jì)數(shù)。由于REP_CNT有在周期更新事件U_R3生時才重載REPTIM_CounterMode);assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct-TIM_ClockDivision);tmpcr1=TIM

28、x-CR1;if(TIMx=TIM1)|(TIMx=TIM8)|(TIMx=TIM2)|(TIMx=TIM3)|(TIMx=TIM4)|(TIMx=TIM5)tmpcr1&=(uint16_t)(uint16_t)(TIM_CR1_DIR|TIM_CR1_CMS);tmpcr1|=(uint32_t)TIM_TimeBaseInitStruct-TIM_CounterMode;if(TIMx!=TIM6)&(TIMx!=TIM7)tmpcr1&=(uint16_t)(uint16_t)TIM_CR1_CKD);tmpcr1|=(uint32_t)TIM_TimeBaseInitStruct-TIM_ClockDivision;TIMx-CR1=tmpcr1;TIMx-ARR=TIM_TimeBaseInitStruct-TIM_Period;TIMx-PSC=TIM_TimeBaseInitStruct-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論