在 ATMega328p 上使用 16 MHz 晶振

电器工程 大气压
2022-01-22 00:56:19

我需要如何在 ATMega328p 上设置保险丝位才能使用 16MHz 晶体?我自己尝试了这个并杀死了我拥有的最后一个atmega。这次我想要一些建议。

我用的水晶就是这个

我假设这是数据表中列出的“全摆幅晶体振荡器”,所以 CKSEL3..1 应该是 011

然后我需要设置启动时间。我假设“晶体振荡器,功率缓慢上升”是更安全的选择,因此 CKSEL0 应为 1,SUT1..0 应为 11。

我不想将时钟除以 8,所以 CKDIV8 应该是 1

CKOUT 我将保留默认值 1

如果我的假设是正确的(以及如何验证?)我的 lfuse 位设置将是 0xf7。

我这样做对吗?


这没有用。这里

4个回答

Arduino 对 ATMega328p 使用 0xff 的低熔丝设置,这与 0xf7 相同,但晶体未编程为全摆幅。对于超过 8MHz 的速度,建议使用全摆幅,尤其是在多个单元使用相同时钟源的情况下。

对于 ATmega*8 芯片,最好的参考资源之一是Arduino“boards.txt”文件 ,它包含许多常见芯片和配置的设置。

尝试使用AVRfuses这就是我用于所有保险丝的东西,它工作正常。