用LED做一个呼吸灯常用的思路是利用一个PWM,随时间调整PWM的占空比,以此来驱动LED使其功率随时间变化。
这里提供另外一个思路:
使用两个PWM,两个PWM的周期有一个微小的差异,将它们的输出做AND运算,这个运算结果直接去驱动LED即可获得一个呼吸灯效果。
这样做的好处是:
1. 不需要代码控制,只要PWM配置好以后,启动它们即可。
2. 它们不会干扰代码逻辑。纯组件层面的处理方式,没有中断,没有延时。
原理图很简单:
PWM_1的周期是10.2ms,PWM_2的周期是10.24ms,LED即可显示出呼吸灯效果。
附件是测试工程,SO EASY。
|