STM32 stm32cubeide 定时器
2025-10-28 来源:bilibili
一.STM32定时器概述
定时器是单片机中一个最基本的外设,可以提供定时计数,PWM,输入捕获和输出比较等多种应用。在STM32系列单片机中,最多有18个定时器,这些定时器根据功能的多少可以分为基本定时器,通用定时器和高级定时器。它们具有独立的硬件资源,对于一个确定型号的单片机可以有1~19个定时器。
下面一个表格记录了不同系列的单片机拥有的定时器的数量:

图1.1 定时器总览
不同类型的定时器有自己独特的特性,灵活多样的定时器配置可以在最低的成本下满足各种开发需求。

图1.2 不同定时器的特性
二.时钟源
STM32单片机中不同的外设挂载的总线不同,通常其基本的时钟频率也会有差别,下面表格是F4系列单片机的结构框图的一部份。从图1.4中可以看到TIM6挂载在APB1总线上,该总线的最大时钟频率为42MHz;TIM9挂载在APB2总线上改总线的最大时钟频率为84MHz。但总线上所对应的定时器的时钟频率却可能与总线频率不一致。
如图1.3可以看出定时器与总线时钟之间还有以一个分频器,可以调整定时器时钟频率。

图1.3 不同定时器的时钟频率

图1.4 不同外设对于的总线
三.基本定时器
3.1 时基单元的配置
基本定时器有TIM6,TIM7和TIM18。在CUBEIDE中基本定时器的配置界面如图1.5所示:

图1.5 TIM6 基本配置项
这里以TIM6为例,TIM6挂载在APB1时钟总线上,根据图1.3的时钟配置可知TIM6的时钟频率为84MHz。这里我们配置出一个1HZ的定时计数周期。首先我们需要对84MHz进行分频也即配置中的Prescaler,这是一个16位的寄存器,取值范围0~65534,

如公式(1-1)所示当Prescaler=8400时,分频后的定时器频率为10KHz,接下来就是设置counter period 即自动重装载值,自动重装载值的确定和计数模式有关,在基本定时器中只有一种上计数模式可以选择,为了将10KHz的频率降至1Hz则有:

即counter period应设置为10000。配置好定时器参数的界面如图1.6所示:

图1.6 TIM6 基本配置
3.2 中断的配置
在system core 标签中找到NVIC,勾选使能对应的定时器中断,并根据需要设置好定时器中断的优先级。

图1.7 中断优先级配置流程
3.3 编程之中断回调函数
在Drivers--->STM32F4xx_HAL_Driver--->src--->stm32f4xx_hal_tim.h文件中可以找到IDE已经生成好的回调函数,另外IDE还预留了可以用户绑定回调函数的接口,如图1.8所示。

图1.8 中断回调函数与自定义回调函数的绑定函数
在主函数中重新实现我们所需要的回调函数,如图1.9所示。

图1.9在主函数中重新实现回调函数
3.4总结
这里简单总结一下定时器的基本时钟频率的配置流程

图1.10 定时器基本配置流程
- 意法半导体中国本地造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认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




