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做定时器
- 意法半导体中国本地造STM32微控制器启动规模量产
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 基于机智云与STM32的智能拐杖安全监测系统在养老物联网中的应用
- 内置全栈安全,一站式满足CRA法案与IEC 62443标准——米尔STM32MP257核心板
- 如何用 STM32 FLASH 实现等效 100 万次擦写的 EEPROM 功能?
- 实战解析:通过一个小项目掌握STM32所有外设
- STM32学了两年半,却还是不会做项目
- 意法半导体推出最新STM32MP21微处理器,兼具高性价比、低功耗、高灵活性
- 基于STM32的矿井作业环境监测系统设计与实现
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




