STM32L4 TIM定时时间的计算

目前使用的STM32L4系统时钟设定为80MHZ;

每次进入中断服务程序间隔时间为

时间=1/频率×次数

((1+TIM_Prescaler )/80M)*(1+TIM_Period )

定时器的基本设置:

TIMx_Handler.Instance = TIM2;    //选择TIM2
TIMx_Handler.Init.Prescaler = 8000-1;    //时钟预分频数   例如 :时钟频率=80M/(时钟预分频+1) 

TIMx_Handler.Init.CounterMode = TIM_COUNTERMODE_UP;    //向上计数
TIMx_Handler.Init.Period = 9999;    //Tim计数到该值,则自动装载0xFFFF到计数器CNT(向上计数),因此次数等于1+Period;
HAL_TIM_Base_Init(&TIMx_Handler);

以上的设置,中断时间为:

(1+9999)×(1+(8000-1))/(80×1000×1000) = 1S

你可能感兴趣的:(STM32L4 TIM定时时间的计算)