单片机
返回首页

STM32 Cubemx 配置定时器定时1mS

2025-02-18 来源:cnblogs

  最近才发现原来我把定时器里的配置参数代表的意义给搞混了,这里记录一下,防止以后自己忘记。

以建立一个定时1mS定时器为例:

  1、先打开定时器

  

  2、配置好时钟

  

  3、配置定时器设置

  

    

    重点来了,以前在这里我一直以为这里配置的就是时间,然后在调频率的时候,一直不对劲,知道查阅了硬石的资料才发现,这里配置的是进入定时器中断的频率,然后要定的时间要跟据这个频率来定时的。

  

  由这个图可见,这里配置的是定时器产生中断的频率,然后再跟据频率与时间的关系推出定时的时间。

  所以定时器频率为 f = 72M / Prescaler / Period = 72000 000 / 72 /1000 = 1000Hz;

  定时时间T = 1 / f 则: 1s / 1000Hz = 1000 000us / 1000Hz = 1000us =1ms。

  这样就可以定时1ms了啦,如果要做PWM频率调频,就直接改 pre 与 per 算出 f 就可以了。

具体公式如下图(上面的计算我是为了方便理解把公式逆运算了一次):

  

   最后使用定时器中断跟关闭定时器中断以及回调函数即可, 使用中断的时候注意要先开启中断


HAL_TIM_Base_Start_IT(&htim1); //使用定时器的时候调用这个函数启动


HAL_TIM_Base_Stop_IT(&htim1);  //停止定时器的时候调用这个函数关闭


void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

  if(htim->Instance == TIM1)

  {

    //编写回调逻辑,即定时器1定时1MS后的逻辑

  }

}


补充:最后记得生成STM32Cubemx文件时打开定时器中断,不然进不了回调函数,一般的话习惯用TIM3做定时器


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 红外开关

  • LM317过压保护

  • 0-30V/20A 大功率稳压电源(采用LM338)

    相关电子头条文章