我需要从Arduino默认值将Brown Out Voltage更改为4.3V。我从Sparkfun购买了AVR Pocket Programmer并按指示连接。我有一个带有CC3000 wifi屏蔽的Arduino 328P。在ICSP熔断器更换之前,所有工作都完美使用AVRDude cmd
成功读取我的默认保险丝设置avrdude -c usbtiny -p atmega328p是H = 05,L = FF,E = DE。
我运行以下cmd将BOD设置更改为4.3,
avrdude -c usbtiny -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0x05:m -U efuse:w:0xfc:m按照使用Engbedded AVR保险丝计算器的指示。这似乎成功运行。在此之后我完全无法编程我的电路板并且无法运行avrdude -c usbtiny -p atmega328p而没有初始化失败,rc = -1错误。
在我创建灌溉控制系统的第一阶段时,我还没有把我的项目推向有机农场,这让我很伤心。
答案 0 :(得分:1)
希望问题是你的联系。检查你的连接,如果他们不是问题,你有一些工作要做:
在找到你的保险丝后,我搜索了一些东西并看到了this。默认的熔丝值为:
你混淆了上面的保险丝。我用AtmelStudio检查你的保险丝会做什么:
avrdude -c usbtiny -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0x05:m -U efuse:w:0xfc:m
这将更改RSTDISBL
值并启用RSTDISBL。根据数据表,这样做
设置复位禁用熔丝会导致JTAG和ISP编程停止工作。只能解开 高压编程
通过这样做,你可以将你的芯片搞得一团糟。现在,你想撤消这个。你可以在不花钱STK500的情况下以便宜的方式做到这一点的唯一方法就是购买一台新的Atmega328p,或者使用另一台Arduino Uno来使用高压编程来完全擦除你的砖块。
要执行此操作,请按照this教程清除芯片。本教程使用了perfboard,但你可以在面包板上做同样的事情。
现在,一旦你擦掉了砖砌的Arduino,就必须使用正确的保险丝。
默认值为:
现在,您想要将欠压电压更改为4.3V
吗?再次使用AtmelStudio,我想出了以下保险丝:
一旦你编程,你应该有一个工作的Arduino!
如果您需要通过USB而不是AVR编程器使用Arduino软件对Arduino进行编程,则必须对引导加载程序进行编程。如果您需要帮助,请回复。也就是说,如果从现在开始你将一直使用AVR程序员,那么可能没有必要使用引导加载程序。
这将解决您的问题,并使您的欠压电压正确!
总是使用像AtmelStudio这样的三重检查保险丝,因为在这种情况下你最终可能会做很多额外的工作。