MCU专家 发表于 2025-6-24 15:27:46

《PWM呼吸灯制作》 🔧 分步操作指南

《PWM呼吸灯制作》
🔧 分步操作指南
[*]CubeMX配置

[*]打开TIM3→Channel2→PWM Generation CH2
[*]参数设置:text


复制


下载





Prescaler: 72-1Counter Period: 1000-1Pulse: 0 (初始占空比0%)


MCU专家 发表于 2025-6-24 15:28:11

代码添加

c
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2); // 启动PWM
while(1) {
    for(int i=0; i<1000; i++) {
      __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, i);
      HAL_Delay(1); // 每1ms增加一次亮度
    }
}

MCU专家 发表于 2025-6-24 15:28:30

原理解析

PWM就像快速开关的水龙头,调节亮度的秘密在于改变"开"和"关"的时间比例

💥 高频错误

现象        原因        解决
无PWM输出        未启动时钟/GPIO未配置        检查__HAL_RCC_TIM3_CLK_ENABLE()
呼吸不平滑        HAL_Delay精度不够        改用SysTick定时器
页: [1]
查看完整版本: 《PWM呼吸灯制作》 🔧 分步操作指南