我正在尝试使用ATTiny85来控制一堆LED。 LED必须以大约2Khz运行(这样它在拍摄时不会闪烁)。如何更改PWM信号的频率?
答案 0 :(得分:1)
您可以通过设置不同的预分频器来更改它。
对于Timer/Counter0
可用的预分频值:1
/ 8
/ 64
/ 256
/ 1024
。
因此,如果您有8MHz时钟和完整的8位PWM分辨率,您将得到:31.25kHz
/ 3.9kHz
/ 448.28Hz
/ 122Hz
/ 30.5H
z
对于Timer/Counter1
可用的预分频器设置:1
/ 2
/ 4
/ 8
/ 16
/ ... / {{ 1}}。它可以由内部PLL时钟(32MHz / 64MHz)提供
因此,您可以将预分频器设置为将源时钟除以16384
,并在16
时钟将其设为8MHz
。
使用PLL时钟1953.125Hz
需要32MHz
除以64
为64MHz
。128
但是对于如此小的输出频率,不需要使用PLL时钟。
答案 1 :(得分:0)
我对这个微控制器不太熟悉,但是从documentation开始,您似乎想配置TCCR0B寄存器(位2:0,参见第79-80页)。 在那里,您可以选择不同的预分频器,或者根本不选择预分频器。