无法将草图上传到 Arduino Uno R3——avrdude:stk500_recv():程序员没有响应

Cannot upload sketches to Arduino Uno R3 -- avrdude: stk500_recv(): programmer is not responding

更新: 我被告知(在这个问题的第一个答案中)我应该在我的 Arduino 上为 ATmega 16U2 芯片安装 Windows 驱动程序。不幸的是,我一直无法找到这些驱动程序(我正在专门寻找 Windows 10 个驱动程序)。对此的任何帮助将不胜感激。谢谢!

我最近从 Inland Electronics 那里得到一块带有 ATmega328 的 Arduino Uno R3 板。我知道它有一个引导加载程序,因为它已经预上传了 Blink;每当我将它插入电脑时,13 号针 LED 每隔一秒闪烁一次。自从有了它,我一直无法将任何草图上传到板上。

我在计算机上使用 Arduino IDE 1.6.7 运行 Windows 10 Pro 64 位。我已经研究了我的问题,但一直无法找到修复方法,尽管尝试了我 可以 找到的所有方法。我一直在尝试上传对 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.

在此过程中,我曾尝试在不同时间按下重置按钮,时间长短不一,但没有任何效果。更多信息如下:

我根据其他网站和问题提到的修复(none 对我有用)分享了这些信息。

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

我以前听说过这个问题。通常,解决它的方法是获取一条新的 USB A-to-B 电缆。你可以在亚马逊上以 3-5 美元的价格买到一件。

我找到了适合我的情况的最终正确答案:董事会是个废品。虽然 ATmega328 可以正常工作并具有引导加载程序,但 USB-B 端口和微控制器之间的 PCB 上存在短路或损坏的连接。我买了一块新的板子,把有问题的板子退了回来,现在一切正常。

但是,在放弃使用 Arduino 之前,您应该尝试几种可能的诊断和修复方法,包括:

  • 检查所有 USB 连接是否安全
  • 试试新的 USB-A 转 USB-B 数据线
  • 检查 RX LED 是否在每次尝试后短暂闪烁
  • 检查所有驱动程序是否都是最新的并已安装
  • 尝试环回测试(说明 here,在 Arduino 论坛上)
  • 进入设备管理器并检查您的 Arduino 是否显示在 COM 端口部分
  • Select"Arduino/Genuino Uno"下"Board"中IDE
  • Select"COM3 (Arduino/Genuino UNO)"下"Port"中IDE
  • 尝试更改 COM 端口
  • 尝试完全卸载并重新安装 Arduino 软件(断开开发板后)
  • 尝试使用IDE在微控制器上烧写bootloader
  • 查看 Arduino Troubleshooting at arduino.cc

如果这些 none 有效,则您 可能 电路板出现故障。