Briecked AVR。我是否设置延长保险丝?
Briecked AVR. Do I set extended fuse?
我已经将程序上传到 ATmega88p,然后执行 avrdude
-U lfuse:w:0x63:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m
根据 http://www.engbedded.com/fusecalc/ 将时钟设置为 128kHz
该程序执行得很好,但后来我想执行 avrdude
-U lfuse:w:0x7F:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m
将时钟设置回 8MHz,但我收到错误 rc=-1。
当我使用带有 -F 的 avrdude 检查签名时,我收到了 0xdc57df
,看起来是随机的。
之前我对 ATmega8 做了同样的事情(使用不同的 h 和 l 熔断器值),之后它工作得很好。
我想知道以后是不是要设置加长保险丝还是大多数情况下高低一个够用吗?
正如 ReAl 指出的那样,问题出在不同的地方。保险丝设置得很好,但不能更改,因为程序员不能工作得这么慢。更改 avrdude 参数后它起作用了。
ISP 时钟速度最多应为 CPU 频率的 1/4。因此,如果 CPU 以 128kHz 运行,则编程速度应小于 32kHz。 IE。一位时钟周期至少应为 32 微秒或更多。
尝试在 avrdude 命令行中传递 -B 64
选项。 (完整的选项列表是 here)
我已经将程序上传到 ATmega88p,然后执行 avrdude
-U lfuse:w:0x63:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m
根据 http://www.engbedded.com/fusecalc/ 将时钟设置为 128kHz
该程序执行得很好,但后来我想执行 avrdude
-U lfuse:w:0x7F:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m
将时钟设置回 8MHz,但我收到错误 rc=-1。
当我使用带有 -F 的 avrdude 检查签名时,我收到了 0xdc57df
,看起来是随机的。
之前我对 ATmega8 做了同样的事情(使用不同的 h 和 l 熔断器值),之后它工作得很好。
我想知道以后是不是要设置加长保险丝还是大多数情况下高低一个够用吗?
正如 ReAl 指出的那样,问题出在不同的地方。保险丝设置得很好,但不能更改,因为程序员不能工作得这么慢。更改 avrdude 参数后它起作用了。
ISP 时钟速度最多应为 CPU 频率的 1/4。因此,如果 CPU 以 128kHz 运行,则编程速度应小于 32kHz。 IE。一位时钟周期至少应为 32 微秒或更多。
尝试在 avrdude 命令行中传递 -B 64
选项。 (完整的选项列表是 here)