四、提高PWM速度
由上面可以看出,多引脚PWM的周期大致为
每引脚PWM周期=每引脚判定后延时*要PWM的引脚数*每周期PWM判定次数(PWM精度)
上面的代码不包括指令执行时间,大概是2us x 14 x 255≈7ms=一个周期,频率142Hz。如果使用Arduino Mega 2560这样的大板,我们或者会用更多的引脚,比如32个。周期就变成2us x 32 x 255≈16ms一个周期,频率就是62Hz了。大概实验可以看到,如果周期超过12ms以上,驱动LED我们会看到明显的闪烁。所以必须降低三个值中的随便一个加快PWM速度。