计算 PWM 频率
这应该是一个简单的公式,但我无法弄清楚。
我有一个 16mHZ AVR 芯片。
我需要运行 24kHZ 的 PWM 信号。
确定最佳预分频器的公式是什么。
我使用的是 16 位定时器。
This should be a simple formula but I can not figure it out.
I have a 16mHZ AVR Chip.
I need to run a PWM signal to be 24kHZ..
what is the formula to decide what is the best Prescaler.
I am using a 16bit timer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
阅读数据表(此处例如来自 ATmega328P 数据表,16 位定时器/计数器1)以获得公式:
Read the datasheet (here for example from ATmega328P datasheet, 16-bit Timer/Counter1 ) to get the formula:
16MHz / 24KHz 给你...
(16 * 1024 * 1024) / (24 * 1024) 给你...
16777216 / 24576 给你...
682.667
因为你的预分频器只能是一个整数,并且取决于精确程度如果您需要它,您可以选择在每三个刻度时更改软件中的预分频器值。例如,每前两个刻度的预分频器为 683,每第三个刻度的预分频器为 682。
16MHz / 24KHz gives you...
(16 * 1024 * 1024) / (24 * 1024) gives you...
16777216 / 24576 gives you...
682.667
Because your prescaler can only be a whole number, and depending on how precise you need it to be, you could optionally alter the prescaler value in software on every third tick. For example, every first two ticks would have a prescaler of 683 with every third tick being 682.