【问题标题】:Arduino StandaloneArduino独立
【发布时间】:2015-09-27 07:13:17
【问题描述】:

我有一个 Arduino Uno,我正在使用 arduino 1.0.5 IDE。我关注了他procedures for bootloading an atmega328P-PU on a breadboard

我首先上传了 ArduinoISP 草图,进行了连接(使用外部振荡器),然后将其接线。然后,我选择了作为 ISP 的 Arduino 编程器,选择了带有 Atmega328P 的 Arduino Duemilanove 开发板。然后我选择了正确的串口并点击了刻录引导加载程序。 我收到以下错误:

avrdude.exe: stk500_program_enable(): 协议错误,expect=0x14, resp=0x50avrdude.exe:初始化失败,rc=-1 Double 检查连接并重试,或使用 -F 覆盖
这个 check.avrdude.exe: stk500_disable(): 协议错误,expect=0x14, 响应=0x51

如何解决这个问题?另外,我可以通过在 Uno 上使用引导加载程序代替原始芯片直接上传引导加载程序吗?如果有,怎么做?

【问题讨论】:

标签: arduino arduino-uno atmega arduino-ide


【解决方案1】:

据我了解,您遇到的错误表明芯片读取错误。我曾在芯片死机或未正确连接时遇到过这种情况,尤其是与电源连接。

您可以在教程中找到更多详细信息:https://www.arduino.cc/en/Tutorial/ArduinoISP

尤其是那些东西:

  • Arduino 1.0 的注意事项:您需要对 ArduinoISP 代码。在 heartbeat() 函数中找到表示 “延迟(40);”并将其更改为“延迟(20);”。
  • 选择项目中的 Tools > Board 和 Serial Port 菜单对应于 您的板 正在用作编程器(不是正在编程的板)。

【讨论】:

    【解决方案2】:

    只需通过下面的链接而不是 arduino 内置引导加载程序,这将非常适合上传引导加载程序和验证板状态信息

    我之所以回复你这个问题,是因为我很久以前就遇到了同样的问题,它救了我。

    arduino 引导加载程序的另一件事:对于 atmega328,您需要在 reset 和 gnd 之间放置电容器(以防您错过)

    对于 gammon 引导加载程序,您不需要它。


    创新。

    【讨论】:

      【解决方案3】:

      对于重置行,您可能会使用 100nf(这就是文档中所述)...但有时它不起作用...尝试 4.7uf、22uf 或 47uf 之类的值或关闭值

      【讨论】:

        【解决方案4】:

        我遇到了类似的问题,问题是我的程序员有点慢,我使用 -B 标志来降低比特率并开始工作,我设置了 -B20 并且每次都像魅力一样工作,但我使用的是 USBTinyISP 编程器,而不是 stk500 编程器,所以这可能不适合你。

        【讨论】:

          猜你喜欢
          • 2014-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-24
          • 2014-06-05
          • 1970-01-01
          • 2016-04-16
          • 1970-01-01
          相关资源
          最近更新 更多