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

2
回复
131
查看
[ 复制链接 ]

45

主题

7

回帖

185

积分

注册会员

积分
185
2025-6-24 15:27:46 显示全部楼层 阅读模式
《PWM呼吸灯制作》
🔧 分步操作指南
  • CubeMX配置

    • 打开TIM3→Channel2→PWM Generation CH2
    • 参数设置:
      [backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
      [color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

      复制
      [color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

      下载





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


收藏
送赞
分享

45

主题

7

回帖

185

积分

注册会员

积分
185
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增加一次亮度
    }
}

45

主题

7

回帖

185

积分

注册会员

积分
185
2025-6-24 15:28:30 楼主 显示全部楼层
原理解析

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

💥 高频错误

现象        原因        解决
无PWM输出        未启动时钟/GPIO未配置        检查__HAL_RCC_TIM3_CLK_ENABLE()
呼吸不平滑        HAL_Delay精度不够        改用SysTick定时器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则