如何控制LED闪烁的速率

How to control the rate of LED blinking

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

您可以通过多种方式执行此操作。

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

一种不需要主循环中的代码的更复杂的方法是使用 DMA,其源是 PWM 值数组,其目的地是输出定时器的占空比寄存器。然后您可以使用不同的定时器来定期触发 DMA。