四、提高PWM速度
由上面可以看出,多引腳PWM的周期大致為
每引腳PWM周期=每引腳判定后延時(shí)*要PWM的引腳數(shù)*每周期PWM判定次數(shù)(PWM精度)
上面的代碼不包括指令執(zhí)行時(shí)間,大概是2us x 14 x 255≈7ms=一個(gè)周期,頻率142Hz。如果使用Arduino Mega 2560這樣的大板,我們或者會用更多的引腳,比如32個(gè)。周期就變成2us x 32 x 255≈16ms一個(gè)周期,頻率就是62Hz了。大概實(shí)驗(yàn)可以看到,如果周期超過12ms以上,驅(qū)動(dòng)LED我們會看到明顯的閃爍。所以必須降低三個(gè)值中的隨便一個(gè)加快PWM速度。