stm32定時器定時計算通過計數溢位計算,也就是說計數溢位就觸發中斷
計算公式:
timeout = ((prescaler + 1) * (period + 1) ) / timeclockfren;
解釋下公式引數意義:
timeout:定時器溢位時間(單位為us),多少觸發(進入)一次tim中斷。
prescaler:分頻tim時鐘的預分頻器值。
period:計數過載值,tim計數當超過這個值,則重新計數。
timeclockfren:定時器的輸入時鐘頻率(單位mhz),也就是當前使用的tim所用的clok的時鐘頻率。如果不清楚,可通過相關引數得到。
eg:
tim2_initstruct.instance = tim2;
tim2_initstruct.init.prescaler = 1999;
tim2_initstruct.init.period = 999;
......
如上所示,上述**在timeclockfren為2.09mhz的頻率下,則定時器溢位的時間為
timeout = ((1999 + 1) * (999 + 1) ) / 2;
timeout = 1000000us = 1s。
因此,定時器則1s觸發一次中斷。
stm32關定時器 STM32定時器TIM3程式
include led.h include delay.h include key.h include sys.h include usart.h include timer.h stm32開發板實驗8 定時器中斷實驗 int main void delay init 延時函式初始化 nvic co...
STM32定時器(TIM)之通用定時器
stm32的通用定時器有四個,分別是tim2,tim3,tim4,tim5,有以下功能 通用定時器的框圖如下 從圖中可以看出,通用定時器timx的觸發源 計數器時鐘的時鐘源 有四個 1 內部時鐘 clk int 2 外部時鐘模式1 外部輸入引腳 tix 分別經timx chx通道傳入 3 外部時鐘模...
stm32 定時器TIM時鐘步驟
1 tim3 時鐘使能 rcc apb1periphclockcmd rcc apb1periph timx,enable 時鐘使能 2 初始化定時器引數,設定自動重灌值,分頻係數,計數方式等。定時器的初始化函式tim timebaseinit voidtim timebaseinit tim ty...