选择外部时钟模式在使用STM32定时器生成PWM波形之前首先需要正确配置定时器的时钟源。外部时钟模式是定时器的一种重要工作方式它允许定时器使用外部信号作为计数时钟适用于需要与外部信号同步的场景。在STM32中定时器的时钟源可以通过RCC复位和时钟控制模块进行配置。选择外部时钟模式时需要将定时器的时钟源设置为外部引脚输入这样定时器的计数频率就由外部信号的频率决定。上图展示了定时器时钟源选择的配置界面。在STM32CubeMX中我们可以通过图形化界面直观地选择定时器的时钟源包括内部时钟、外部时钟模式1和外部时钟模式2等选项。配置完成后我们需要在代码中调用相应的初始化函数来应用这些设置。以下是定时器初始化函数的主要参数说明函数参数第一定时器句柄TIM_HandleTypeDef用于标识要配置的定时器实例例如 htim2 表示定时器2。第二预分频器值Prescaler用于对时钟源进行分频决定定时器计数频率。预分频器值越大计数频率越低定时周期越长。第三自动重装载值Period决定定时器计数到多少时产生更新事件。这个值直接决定了PWM波形的周期。第四时钟分频因子ClockDivision用于配置定时器时钟与数字滤波器采样时钟之间的分频关系一般设置为0即可。完成以上参数配置后调用定时器初始化函数即可完成外部时钟模式的配置。接下来就可以基于这个定时器进行PWM输出等高级功能的开发。输出比较功能输出比较是STM32定时器的核心功能之一它通过将定时器的计数值与预设的比较值进行匹配在匹配时刻自动改变输出引脚的电平状态从而生成PWM波形或触发外部事件。简介输出比较功能的基本原理是定时器持续计数当计数值达到设定的比较寄存器CCR值时输出引脚会根据配置的模式产生相应的电平变化。通过调整比较值可以精确控制输出波形的占空比和相位。上图展示了输出比较功能在定时器中的位置。每个定时器通常包含多个独立的比较通道每个通道都可以配置不同的比较值和输出模式互不干扰。输出比较的常见应用场景包括PWM波形生成通过调整比较值改变占空比实现电机调速、灯光亮度控制等。精确延时触发在指定计数值时触发中断或翻转引脚用于时序控制。频率测量配合输入捕获功能测量外部信号的频率和脉宽。PWM波形仅仅对具有惯性的系统有用PWM脉冲宽度调制波形是一种周期固定、占空比可调的方波信号。它之所以对具有惯性的系统有效是因为像电机、LED这类负载对高频开关信号不敏感它们响应的是信号的平均电压而非瞬时电压。上图展示了PWM波形的基本参数周期Period决定开关频率占空比Duty Cycle决定平均输出电压。占空比越高平均电压越大电机转速或LED亮度也就越高。在STM32中PWM波形的周期由自动重装载值ARR决定占空比由比较值CCR决定。当计数值小于CCR时输出高电平大于等于CCR时输出低电平从而形成可调的PWM波形。上图对比了不同占空比下的PWM波形效果。可以看到占空比从低到高变化时波形的高电平持续时间逐渐增加对应的平均输出电压也随之增大。输出比较模式移动那条红色的的线端口关系控制原理PWM实现呼吸灯第一步第二步i第三部第四步为什么使用复用推挽输出将输出交给外设计算公式50%90%引脚重映射1打开AFIO重 映射三个解除SWJ调试端口功能的函数先打开AFIO时钟PWM驱动舵机因为使用的是PA1——————更改通道