關於Curiosity pic32mx470 Timer 問題

作者 102104145 於 2018年06月25日 19:19:54
各位好,小弟目前在使用的是pic32mx470開發板,想控制 WS2812B 的 RGB燈色變化和一些特效,根據WS2812B Datasheet了解要如何控制之後,打算用PWM方式來做,遇到的問題如下:

1.根據MCU Datasheet 寫道 TMRy = PRy , TMRy resets , 個人解讀是送出一個PWM訊號的high、low 是由 TMRy 計數至與 PRy相等產生的。
假設 PRy = 60 , 意旨 TMRy 計數至 60 時便是產生一個PWM的訊號送出,小弟想精確控制送出的PWM訊號個數,就要能精準抓到每次計數到60的瞬間,可是程式執行上,我用runtime watch 去看暫存器的狀態,發現每執行一行程式,TMRy計數的累加不是+1+1而是更快,所以在判斷式無法準確取得TMRy = 60 的瞬間,請教各路高手有無解法?

使用 timer 中斷嗎? 或是 使用 OC 的中斷~

感謝指教。

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=8&topic_id=22330&post_id=78286