STM32F407 PWM

为什么每次修改完比较值之后都要延时一段时间才能达到呼吸灯的效果

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/747549
  • 这篇博客你也可以参考下:STM32F407--定时器输出PWM
  • 除此之外, 这篇博客: STM32F407配置定时器生成PWM中的 一、定时器基础配置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 定时器的基础配置需要调用HAL_TIM_Base_Init()函数,具体的配置代码如下:

    htim1.Instance = TIM1;    //指定需要配置的定时器
    htim1.Init.Prescaler = 1;    //定时器的预分频系数
    htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED3;    //定时器的计数模式,中央对齐模式3
    htim1.Init.Period = 4199;    //定时器计数周期值
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;    //定时器分频因子
    htim1.Init.RepetitionCounter = 0;    //配置重复计数器寄存器TIMx_RCR
    htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;    //计数达到指定值后,定时器是否自动重装载计数值
    HAL_TIM_Base_Init(&htim1);    //基础配置函数调用
    
  • 以下回答由chatgpt基于相关博客总结生成:

    由于参考资料中给出的解决方案并没有完全解决问题,我无法给出具体的优化延时的方法和建议。建议在继续研究、尝试解决问题的过程中,可以通过增加延时或者使用其他方法来实现更流畅的呼吸灯效果。同时,可以在相关社区或论坛上提问,获得更多专业人士的帮助和建议。