如何利用定时器中断实现呼吸灯的效果

2019-07-15 07:23发布

由于芯片没有硬件的PWM,所以只能软件模拟,但是测下来发现都是在闪烁,没有做出呼吸的效果。
如果是使用延时的方法确实可以做出来,但是对于运行效率来说太慢了。

我的目标是利用定时器中断实现呼吸灯,请问应该怎么做?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
乔伊斯e
2019-07-16 15:08
所以你就用一个更小的时间去判断占空比,比如100ms周期,你的定时器就定为1ms,计数到30,就灭led,计数到100(一个PWM周期),就亮led,这样led就亮了30ms,就是30%的亮度。觉得有闪烁的话,可以把定时器时间再缩短,修改闪烁频率。这是通用做法,当然会频繁进中断,如果你用stm32的话,可以用它的比较捕获定时器。CP1设占空比,CP2设为周期.  

一周热门 更多>