STM32 定時器 TIM 定時如何計算?

2021-09-29 09:56:06 字數 677 閱讀 5506

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...