1. 基本定时器工程实现原理与配置逻辑
在STM32微控制器中,基本定时器(Basic Timer)是一类结构精简、功能专一的外设模块,仅支持向上计数模式,不具备输入捕获、输出比较、PWM生成等高级功能。STM32F1系列中,基本定时器特指TIM6和TIM7,二者完全对称,均仅包含一个16位自动重装载计数器(ARR)、一个16位预分频器(PSC)以及一个更新事件(Update Event)触发机制。其核心价值在于提供高精度、低开销的周期性时间基准,常用于系统滴答(SysTick替代方案)、状态机超时管理、ADC采样同步触发等场景。
与通用定时器(如TIM2-TIM5)或高级定时器(如TIM1、TIM8)不同,基本定时器不连接任何GPIO引脚,无外部信号输入/输出能力,其所有操作均通过寄存器编程完成。这决定了其驱动逻辑必须严格遵循“初始化→使能→中断配置→启动”的四步流程,且所有参数设置必须服务于明确的工程目标:产生精确的定时周期。
1.1 工程目标与参数映射关系
本工程的核心目标是构建一个可配置的毫秒级定时基准。其物理实现依赖于两个关键寄存器:
-预分频器寄存器(PSC):对定时器时钟源进行整数分频
-自动重装载寄存器(ARR):设定计数器溢出阈值,决定更新事件周期
二者共同构成定时周期公式:
T_update = (PSC + 1) × (ARR + 1) / T_clk其中T_clk为定时器输入时钟频率(单位:Hz),T_updat