我有一个Arduino Uno,我使用的是arduino 1.0.5 IDE。我跟着他@DanAtkinson's comment。
我首先上传了ArduinoISP草图,进行了连接(使用外部振荡器),然后将其连接起来。然后,我选择程序员作为Arduino作为ISP,选择董事会作为Arduino duemilanove w / Atmega328P。然后我选择了正确的串口并单击了Burn Bootloader。 我收到了以下错误:
avrdude.exe:stk500_program_enable():协议错误,期望= 0x14, resp = 0x50avrdude.exe:初始化失败,rc = -1 Double 检查连接并重试,或使用-F覆盖
这个check.avrdude.exe:stk500_disable():协议错误,期望= 0x14, RESP = 0x51
如何解决这个问题?另外,我可以直接在Uno上使用它来代替原始芯片上传引导加载程序。如果是这样,怎么样?
答案 0 :(得分:1)
根据我的理解,你所犯的错误表明芯片读数不好。我经历过那些死机或没有正确连接的芯片,尤其是电源。
您可以在教程中找到更详细的信息:https://www.arduino.cc/en/Tutorial/ArduinoISP
特别是那些东西:
答案 1 :(得分:1)
而不是arduino内置启动加载器只需通过以下链接,它将非常适合上传启动加载程序和验证板状态信息
我正在回复你,因为同样的问题我早就回来了,它救了我。
arduino引导加载程序还有一件事:对于atmega328,你需要在reset和gnd之间放置电容(万一你错过了)
对于gammon bootloader,你不需要它。
勇于创新。
答案 2 :(得分:0)
对于重置行,你可能会使用100nf(这就是文档中所述的内容)......但有时它不起作用...尝试类似4.7uf,22uf或47uf或接近值
答案 3 :(得分:0)
我有一个类似的问题,问题是我的程序员有点慢,我使用-B标志avrdude来减慢比特率并开始工作,我设置-B20并且每次都像魅力一样,但我使用的是USBTinyISP程序员,而不是stk500程序员,所以这可能不适合你。