问题描述
我使用 STM32 板来控制 RGB LED 的颜色和闪烁率。为了改变 RGB LED 的颜色,我在 PWM 模式下配置了一个定时器,通过改变该定时器三个通道上三个信号的占空比,LED 改变了颜色。如何使用另一个定时器控制 LED 的闪烁率?应该使用哪种模式的秒计时器和技术来控制开启和关闭时间? 提前致谢。
解决方法
有很多方法可以做到这一点。
最简单的是在应用程序的主循环中读取一些时钟或自由运行的计时器。如果是下一个 LED 颜色的时间,则更新 PWM 占空比。
不需要主循环中的代码的更复杂的方法是使用 DMA,其源是 PWM 值数组,其目标是输出定时器的占空比寄存器。然后您可以使用不同的计时器来定期触发 DMA。