學過51微控制器的同學,都知道51微控制器只提供了2個定時器 2個外部中斷(c52 還有定時器2),在編寫乙個比較大的工程的時候,有時候會發現定時器完全不夠用,而32完全可以克服這一困難
stm32f103系列可使用的定時器8個,其中通用定時器有tmi1-tim7
高階定時器tim0 tim8
而在這 我主要使用通用定時器進行計數
使用計時器還是比較簡單的,在開發文件中
這一張是時基電路的
由圖可以看出 使用乙個簡單的定時計數功能
實際要操作預分頻暫存器和自動重裝載暫存器(計數暫存器 不需要賦值)
我個人總結如下:
定時時間 (預分頻 * (裝載值 + 1)/ 72mhz)
使用定時器步驟
外設時鐘使能
預分頻重裝載
開啟中斷更新
開啟使能 自動重裝載使能 總開關使能
nvic開啟
中斷函式
判斷定時器狀態sr (硬體置1 軟體清0)
**如下:
void time_init(u16 pre,u16 psc)
void tim5_irqhandler(void)
tim5->sr &
= ~(0x01)
;}
這裡注釋一下
nvic_init(2,3,tim5_irqn,2); //nvic開啟
在stm32 串列埠通訊 暫存器版
有詳細**
Stm32 暫存器 定時器中斷
1 原理 和外部中斷差不多,不同的是外部中斷的產生是由外部硬體產生變化的,而定時器中斷就是通過定時器的溢位實現中斷 可以想象成鬧鐘 2 操作步驟 這裡我用的是通用定時器tim3 1 tim3 時鐘使能。這裡我們通過 apb1enr 的第 1 位來設定 tim3 的時鐘,因為 stm32 clock ...
STM32定時器的預裝暫存器及影子暫存器話題
摘自 經常有人問起預裝暫存器和影子暫存器的話題,其實stm32相關系列的手冊裡有介紹,有文件做介紹,這裡借花獻佛地一起分享下。在談預裝暫存器及影子暫存器的差別前,不妨先對stm32定時器的時基單元做個基本了解。stm32各系列的定時器結構和框架基本是一樣的,時基單元也一樣。下面時基單元是以stm32...
STM32定時器的預裝暫存器以及影子暫存器話題
經常有人問起預裝暫存器和影子暫存器的話題,其實stm32相關系列的手冊裡有介紹,有文件做介紹,這裡借花獻佛地一起分享下。在談預裝暫存器及影子暫存器的差別前,不妨先對stm32定時器的時基單元做個基本了解。stm32各系列的定時器結構和框架基本是一樣的,時基單元也一樣。下面時基單元是以stm32f3系...