請問如何修改analogWrite 改變PWM輸出頻率
請問arduino所產生的PWM要如何調整頻率呢?arduino analogWrite內定的PWM時間週期似乎2ms輸出PWM為500hz
目前是想把500hz,調降到100hz
有哪些方法呢? http://playground.arduino.cc/Code/PwmFrequency
在UNO 上試過 OK, 其他就不一定了
不過他的倍數有限制, 大部份是 2^N 次方
裡面有寫各接腳的限制 這個主題我之前有研究過
在Arduino現有的API是不能改頻率
只能直接改Atmega MCU的暫存器,改變除頻的量
以Arduino UNO為例,pin 5 的 PWM 輸出是從 timer 0 所產生的
原始的除頻量是64
雖然可以除頻量,不過不能微調,只有幾個選項可以選 (如下表)
要如何才能夠改CS00~CS02?
可以使用bitWrite()函式來做,範例如下:
bitWrite(TCCR0B, CS00, 1);
bitWrite(TCCR0B, CS01, 0);
bitWrite(TCCR0B, CS02, 1);//修改除頻量為 1024
頁:
[1]