问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32定时器时间计算公式详解:实现1ms、1s延时

创作时间:
作者:
@小白创作中心

STM32定时器时间计算公式详解:实现1ms、1s延时

引用
CSDN
1.
https://blog.csdn.net/qq_38230916/article/details/138966726

本文主要介绍了STM32定时器时间计算公式的理解和实现1ms、1s延时的方法。通过具体的公式和代码示例,详细解释了如何配置定时器的自动重装载值(ARR)和预分频值(PSC)来实现不同时间间隔的延时。

STM32定时器时间计算公式

  • ARR(TIM_Period):自动重装载值,是定时器溢出前的计数值
  • PSC(TIM_Prescaler):预分频值,是用来降低定时器时钟频率的参数
  • Tclk:72M定时器的输入时钟频率(单位Mhz),通常为系统时钟频率或者定时器外部时钟频率
  • Tout:定时器溢出时间

如下图所示:

实现1秒延时的配置

Tout=(7200x10000) ÷72M=1S

实现1毫秒延时的配置

PSC:72-1
ARR:1000-1

定时器中断配置代码

HAL_TIM_Base_Start_IT(&htim3);   //打开定时器中断

定时器中断回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if (htim->Instance == TIM3)
    {
        HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
    }
}
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号