STM32 定時器中斷實驗_第1頁
STM32 定時器中斷實驗_第2頁
STM32 定時器中斷實驗_第3頁
STM32 定時器中斷實驗_第4頁
STM32 定時器中斷實驗_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ALIENTEK《例說STM32》

例說STM322023/12/17廣州市星翼電子科技有限公司1ALIENTEK開發(fā)板購買店鋪

店鋪:http://ALIENTEK第9講定時器中斷實驗9.1通用定時器簡介9.2寄存器描述

9.3通用定時器配置步驟9.4實驗講解《例說STM32》22023/12/17廣州市星翼電子科技有限公司ALIENTEK9.1通用定時器簡介《例說STM32》32023/12/17廣州市星翼電子科技有限公司STM32的定時器功能十分強大,有TIME1和TIME8等高級定時器,也有TIME2~TIME5等通用定時器,還有TIME6和TIME7等基本定時器。STM32的通用定時器是一個通過可編程預(yù)分頻器(PSC)驅(qū)動的16位自動裝載計數(shù)器(CNT)構(gòu)成。STM32的通用定時器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)等。使用定時器預(yù)分頻器和RCC時鐘控制器預(yù)分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調(diào)整。STM32的每個通用定時器都是完全獨立的,沒有互相共享的任何資源。ALIENTEK《例說STM32》42023/12/17廣州市星翼電子科技有限公司STM3的通用TIMx(x=2,3,4,5)定時器功能包括:

1)16位向上、向下、向上/向下自動裝載計數(shù)器(TIMx_CNT)。2)16位可編程(可以實時修改)預(yù)分頻器(TIMx_PSC),計數(shù)器時鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值。3)4個獨立通道(TIMx_CH1~4),這些通道可以用來作為:

A.輸入捕獲B.輸出比較

C.PWM生成(邊緣或中間對齊模式)D.單脈沖模式輸出

ALIENTEK《例說STM32》52023/12/17廣州市星翼電子科技有限公司4)可使用外部信號(TIMx_ETR)控制定時器和定時器互連(可以用1個定時器控制另外一個定時器)的同步電路。5)如下事件發(fā)生時產(chǎn)生中斷/DMA:

A.更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))B.觸發(fā)事件(計數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計數(shù))C.輸入捕獲

D.輸出比較

E.支持針對定位的增量(正交)編碼器和霍爾傳感器電路

F.觸發(fā)輸入作為外部時鐘或者按周期的電流管理ALIENTEK9.2通用定時器寄存器描述《例說STM32》62023/12/17廣州市星翼電子科技有限公司控制寄存器1(TIMx_CR1)ALIENTEK《例說STM32》72023/12/17廣州市星翼電子科技有限公司ALIENTEK《例說STM32》82023/12/17廣州市星翼電子科技有限公司ALIENTEK《例說STM32》92023/12/17廣州市星翼電子科技有限公司DMA/中斷使能寄存器(TIMx_DIER)該寄存器是一個16位的寄存器,這里我們僅關(guān)心它的第6位和第0位,第6位TIE為觸發(fā)中斷使能位,通過將該位置1使能TIMx的中斷觸發(fā),注意只要是TIMx需要使用中斷,該位必須為1。而第0位,則為允許更新中斷位,通過置1,來允許由于更新事件所產(chǎn)生的中斷。ALIENTEK《例說STM32》102023/12/17廣州市星翼電子科技有限公司預(yù)分頻寄存器(TIMx_PSC)該寄存器用設(shè)置對時鐘進行分頻,然后提供給計數(shù)器,作為計數(shù)器的時鐘。ALIENTEK《例說STM32》112023/12/17廣州市星翼電子科技有限公司這里,我們的時鐘來源有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è)置。這里的CK_INT時鐘是從APB1倍頻的來的,除非APB1的時鐘分頻數(shù)設(shè)置為1,否則通用定時器TIMx的時鐘是APB1時鐘的2倍,當(dāng)APB1的時鐘不分頻的時候,通用定時器TIMx的時鐘就等于APB1的時鐘。這里還要注意的就是高級定時器的時鐘不是來自APB1,而是來自APB2的。這里順帶介紹一下TIMx_CNT寄存器,該寄存器是定時器的計數(shù)器,該寄存器存儲了當(dāng)前定時器的計數(shù)值。ALIENTEK《例說STM32》122023/12/17廣州市星翼電子科技有限公司自動重裝載寄存器(TIMx_ARR)該寄存器在物理上實際對應(yīng)著2個寄存器。一個是程序員可以直接操作的,另外一個是程序員看不到的,這個看不到的寄存器在《STM32參考手冊》里面被叫做影子寄存器。事實上真正起作用的是影子寄存器。根據(jù)TIMx_CR1寄存器中APRE位的設(shè)置:APRE=0時,預(yù)裝載寄存器的內(nèi)容可以隨時傳送到影子寄存器,此時2者是連通的;而APRE=1時,在每一次更新事件(UEV)時,才把預(yù)裝在寄存器的內(nèi)容傳送到影子寄存器。ALIENTEK《例說STM32》132023/12/17廣州市星翼電子科技有限公司這里,我們的時鐘來源有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è)置。這里的CK_INT時鐘是從APB1倍頻的來的,除非APB1的時鐘分頻數(shù)設(shè)置為1,否則通用定時器TIMx的時鐘是APB1時鐘的2倍,當(dāng)APB1的時鐘不分頻的時候,通用定時器TIMx的時鐘就等于APB1的時鐘。這里還要注意的就是高級定時器的時鐘不是來自APB1,而是來自APB2的。這里順帶介紹一下TIMx_CNT寄存器,該寄存器是定時器的計數(shù)器,該寄存器存儲了當(dāng)前定時器的計數(shù)值。ALIENTEK《例說STM32》142023/12/17廣州市星翼電子科技有限公司狀態(tài)寄存器(TIMx_SR)該寄存器用來標(biāo)記當(dāng)前與定時器相關(guān)的各種事件/中斷是否發(fā)生。具體每位的含義,請參考中文參考手冊。

ALIENTEK9.3通用定時器配置步驟《例說STM32》152023/12/17廣州市星翼電子科技有限公司1)TIM3時鐘使能。這里我們通過APB1ENR的第1位來設(shè)置TIM3的時鐘,因為Stm32_Clock_Init函數(shù)里面把APB1的分頻設(shè)置為2了,所以我們的TIM3時鐘就是APB1時鐘的2倍,等于系統(tǒng)時鐘(72M)。2)設(shè)置TIM3_ARR和TIM3_PSC的值。通過這兩個寄存器,我們來設(shè)置自動重裝的值,以及分頻系數(shù)。這兩個參數(shù)加上時鐘頻率就決定了定時器的溢出時間。ALIENTEK《例說STM32》162023/12/17廣州市星翼電子科技有限公司3)設(shè)置TIM3_DIER允許更新中斷。因為我們要使用TIM3的更新中斷,所以設(shè)置DIER的UIE位,并使能觸發(fā)中斷。4)允許TIM3工作。光配置好定時器還不行,沒有開啟定時器,照樣不能用。我們在配置完后要開啟定時器,通過TIM3_CR1的CEN位來設(shè)置。ALIENTEK《例說STM32》172023/12/17廣州市星翼電子科技有限公司5)TIM3中斷分組設(shè)置。在定時器配置完了之后,因為要產(chǎn)生中斷,必不可少的要設(shè)置NVIC相關(guān)寄存器,以使能TIM3中斷。6)編寫中斷服務(wù)函數(shù)。在最后,還是要編寫定時器中斷服務(wù)函數(shù),通過該函數(shù)來處理定時器產(chǎn)生的相關(guān)中斷。在中斷產(chǎn)生后,通過狀態(tài)寄存器的值來判斷此次產(chǎn)生的中斷屬于什么類型。然后執(zhí)行相關(guān)的操作,我們這里使用的是更新(溢出)中斷,所以在狀態(tài)寄存器SR的最低位。在處理完中斷之后應(yīng)該向TIM3_SR的最低位寫0,來清除該中斷標(biāo)志。ALIENTEK9.4實驗講解《例說STM32》182023/12/17廣州市星翼電子科技有限公司硬件設(shè)計:本章將通過TIM3的中斷來控制DS1的亮滅,DS1是直接連接到PD2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論