我正试着用ATTiny85来控制一堆LED。LED必须在2 2Khz左右运行(这是为了使其在拍摄时不会闪烁)。如何改变PWM信号的频率?
发布于 2016-09-15 14:34:17
您可以通过设置不同的预分频器来更改它。
对于Timer/Counter0,有可用的预分频值:1/8/64/256/1024.
因此,如果你有8 8MHz的时钟,全8位的脉宽调制分辨率,你会得到:31.25kHz / 3.9kHz / 448.28Hz / 122Hz / 30.5Hz
对于Timer/Counter1,有可用的预分频器设置:1 / 2 / 4 / 8 / 16 / ... / 16384。它可以由内部PLL时钟(32 can /64 can)提供。
因此,您可以将预分频器设置为将源时钟除以16,在8MHz时钟时,它将为1953.125Hz。
对于锁相环时钟,需要将32MHz除以64,而对于64MHz,则为128。但是对于如此小的输出频率,不需要使用PLL时钟。
发布于 2016-09-15 14:36:38
我对这个微控制器不是很熟悉,但从documentation来看,您似乎想要配置TCCR0B寄存器(位2:0,请参阅第79-80页)。在这里,您可以选择不同的预分频器,或者根本不选择预分频器。
https://stackoverflow.com/questions/39503822
复制相似问题