无法向Arduino Uno R3上传程序--avrdude:stk500_recv():程序员无响应。

3
更新: 有人告诉我(在这个问题的第一个答案中),我应该安装Arduino板载的ATmega 16U2芯片的Windows驱动程序。不幸的是,我一直无法找到这些驱动程序(我特别在寻找Windows 10驱动程序)。如果有帮助,非常感谢。谢谢!
最近我从Inland Electronics得到了一个带有ATmega328的Arduino Uno R3板。我知道它有一个引导加载程序,因为它已经预先上传了Blink;每当我将其插入电脑时,13号引脚LED会每两秒闪烁一次。自从我拥有它以来,我一直无法上传任何sketches到板上。
我正在使用运行Windows 10 Pro 64位的计算机上的Arduino IDE 1.6.7。我研究了我的问题,并且尝试了我能够找到的所有解决方法,但都没有成功。我一直在尝试上传对Blink的轻微修改,使LED闪烁更快。除了连接到电脑的USB电缆之外,没有其他东西连接到板上。代码编译也很好。
我将首先分享我收到的主要错误消息,然后提供一些额外的信息。我的错误消息:
Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Uno"

Sketch uses 1,030 bytes (3%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\(my username)\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp/Blink.ino.hex:i

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xcf

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

我尝试在不同的过程中按下复位按钮,持续时间也不同,但都没有任何效果。以下是一些更多的信息:
  • 所有USB连接都是安全的
  • RX LED每次“尝试”后会短暂闪烁
  • 所有驱动程序都已更新且已安装
  • 在设备管理器中,我的Arduino显示为“Arduino Uno (COM3)”。没有显示其他正在使用的COM端口
  • 我在IDE中选择了“板子”下的“Arduino/Genuino Uno”
  • 我在IDE中选择了“端口”下的“COM3(Arduino/Genuino UNO)”
  • 安装IDE时选择的编程器(并且仍然选择的)是“AVRISP mkll”
  • 我将COM端口更改为COM4,结果为:avrdude:ser_open():无法打开设备“\\.\COM4”:系统找不到指定的文件。

  • 我将其更改回COM3,结果为:avrdude:ser_open():无法打开设备“\\.\COM3”:拒绝访问。

  • 然后我完全卸载了Arduino软件(在断开电路板之后)

  • 我按照arduino.cc上的“入门指南”页面上的步骤重新安装
  • 然后我又开始遇到原来的错误了

我分享了这些信息,基于其他网站和问题提出的修复方法(但对我都没有用)。

3个回答

3

我之前听说过这个问题。通常解决方法是购买一条新的USB A到B连接线。你可以在亚马逊上以3-5美元的价格购买到。


这里也是一样,使用了一个非常长的打印机线。换成了一个短一点的 - 现在完美运行。 之前尝试了无数驱动程序/USB端口 - 什么都没用。 - dimkin

1

您是否安装了ATmega16U2的Windows驱动程序?这是管理您的USB连接的芯片。


1
谢谢,请问驱动程序的下载链接在哪里? - Matthew

0

我已经找到了适用于我的情况的最终正确答案:板子是坏的。虽然ATmega328工作正常并且有引导程序,但是USB-B端口和微控制器之间的PCB上存在短路或损坏连接。我购买了一个新的板子并退回了有问题的那个,现在一切都像魔术般地运行。

然而,在放弃你的Arduino之前,你应该尝试几种可能的诊断和修复方法,包括:

  • 检查所有USB连接是否安全
  • 尝试使用新的USB-A到USB-B电缆
  • 检查每次尝试后RX LED是否会短暂闪烁
  • 检查所有驱动程序是否已更新并安装
  • 尝试环回测试(说明请参见Arduino论坛上的这里
  • 进入设备管理器,检查您的Arduino是否显示在COM端口部分
  • 在IDE中的“板”下选择“Arduino/Genuino Uno”
  • 在IDE中的“端口”下选择“COM3(Arduino/Genuino UNO)”
  • 尝试更改COM端口
  • 尝试完全卸载并重新安装Arduino软件(在断开板子连接后)
  • 尝试使用IDE在微控制器上烧录引导程序
  • 请查看arduino.cc上的Arduino故障排除

如果以上方法都不起作用,你可能有一个故障的电路板。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接