Timer 如何控制LED闪烁的速率

Timer 如何控制LED闪烁的速率,timer,stm32,led,pwm,Timer,Stm32,Led,Pwm,我使用STM32板控制RGB LED的颜色和闪烁率。为了改变RGB LED的颜色,我在PWM模式下配置了一个定时器,通过改变该定时器三个通道上三个信号的占空比,LED会改变颜色。如何使用另一个计时器控制LED的闪烁率?应该使用哪种定时器模式和技术来控制开关时间? 提前感谢。有很多方法可以做到这一点 最简单的方法是在应用程序的主循环中读取一些时钟或自由运行的计时器。如果是下一个LED颜色的时间,则更新PWM占空比 一种更复杂的方法不需要在主回路中编码,它将使用DMA,DMA的源是PWM值数组,目标

我使用STM32板控制RGB LED的颜色和闪烁率。为了改变RGB LED的颜色,我在PWM模式下配置了一个定时器,通过改变该定时器三个通道上三个信号的占空比,LED会改变颜色。如何使用另一个计时器控制LED的闪烁率?应该使用哪种定时器模式和技术来控制开关时间?
提前感谢。

有很多方法可以做到这一点

最简单的方法是在应用程序的主循环中读取一些时钟或自由运行的计时器。如果是下一个LED颜色的时间,则更新PWM占空比


一种更复杂的方法不需要在主回路中编码,它将使用DMA,DMA的源是PWM值数组,目标是输出定时器的占空比寄存器。然后,您可以使用不同的计时器定期触发DMA。

在更改亮度之间添加延迟。感谢您的回复。事实上,在我的应用程序中,我需要坚持使用非阻塞代码,因此我不能添加延迟。非常感谢您编写描述性回答。没问题。我希望你能成功。你能接受左边有绿色记号的答案吗?谢谢