2025-11-08 05:56:04
首先得先打开STM32的时钟管理器,找到TIM3那块区域打勾让芯片能识别这个定时器。接着在初始化函数里填上对应的参数,比如时钟源选内部时钟,预分频值设成100,计数器周期设成7200。调用pwm-tim3_pwm_init这个函数,就像给定时器装上发动机一样,让它开始按设定好的频率转动。这里要注意的是,预分频和计数器周期这两个参数决定了PWM频率,比如时钟是84MHz的话,84/100/7200等于约115.7kHz的频率。
为什么得这么操作呢?因为STM32的定时器模块就像个精准的节拍器,要让它发出PWM信号必须先给节拍器上发条。根据公式PWM频率=时钟频率/(预分频值×计数器周期),当主频84MHz,预分频100,计数器7200时,算得频率约115.7kHz。占空比计算公式是占空比=比较值/计数器周期,比如要50%占空比就填3600。这样组合起来就像给节拍器调好速度和节奏,调用初始化函数相当于按下启动键,让节拍器开始工作。数据来源是《STM32标准外设库用户手册》V1.18.0第7.3.2节,里面明确说明TIMx_Prescaler和TIMxARR的配置方法。
本题链接: