Arduino草图上传问题 – avrdude:stk500_recv():程序员没有响应

我有一个Atmega328的Arduino Duemilanove。我正在使用Ubuntu 12.04,而Arduino IDE的版本是1.0。 最近,我试着上传一些样本草图,比如Blink。 然而,我的尝试都没有工作,他们每次尝试时都会导致相同的错误 – avrdude:stk500_recv():程序员没有响应。

在这里输入图像说明

我在Tools – > Serial Port下启用了'/ dev / ttyUSB0'。 我也从列表中select了正确的主板(Duemilanove和Atmega 328)。 但是,我无法解决这个问题。 我也在网上search,这个问题的其他答案似乎没有为我工作。 有人能告诉我为什么我遇到这个问题,帮我解决吗?

更新 :我试着把板载的Atmega旋转到另一个方向。 现在,我没有遇到任何问题上传,但事后没有任何反应。 车载L​​ED也不会闪烁。

我有一个Crowduino的问题,在OSX上运行Arduino IDE。 我的解决scheme是在上传过程中打开详细输出(在arduino IDE首选项窗格中)。

然后,在上传的时候,你可以看到avrdude: ser_recv(): programmer is not respondingavrdude: ser_recv(): programmer is not responding错误之前发送三个包avrdude: Send: 0 [30] [20] (相应的RX在板上闪烁)。

诀窍就是在发送这三个数据包之前立即打开电路板上的复位button。 然后程序将成功上传。

确保Tx / Rx引脚上没有input,然后工作。

我知道这是一个旧的post,但是在这个好主意的答案中有一些巫术话题,让我们试着对发生的事情做一个更真实的总结,并总结一下好的东西来检查:

基本上,当发生这种情况时,为avrdude启用详细模式是一个好主意,以便更好地了解发生的事情。 为此,您只需进入首选项并选中详细模式框。 离开arduino IDE也是一个好主意,并且启动一个控制台,以便在阅读avrdude的输出时更加舒适,您将点击uploadbutton。

在命令调用中放置3个或4个-v是很重要的。 下面是如何看起来像这样的avrdude命令,由于它们完全依赖于如何安装Arduino的参数:

 avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex 

使用正确的命令行的一个好方法是在冗长度被启用时从Arduino IDE输出日志的详细输出复制它。

当你得到avrdude: stk500_recv(): programmer is not respondingavrdude: stk500_recv(): programmer is not responding ,它基本上意味着有什么错误发生,实际上开始闪烁之前 。 基本上你必须检查(从硬件到软件,从低到高):

  • 如果电缆和/或连接器没有微切口;
  • 如果没有焊点短路(即接触金属物体),则意味着:
    • 如果在RxTx之间PCB上没有短路(通常是引脚10 );
    • 如果没有接触到电路板下面的金属元件,或者元件腿之间的微小部分(如FTDI,atmega芯片或其他)
  • 如果atmega芯片未断电(GND / VCC快捷或切断或VCCinput死机…);
  • 如果Arduino的10引脚没有被某个屏蔽或定制devise使用(因为它具有独立的USB处理,所以不适用于leonardo)。
  • 如果USB到UART转换器没有问题(旧版本的转换器上的FTDI或者较新的Unos上的Atmega16U2 );
  • 如果Atmega328芯片被炸或错误安装;
  • 如果引导程序已被覆盖或失败;
  • 如果正确的波特率适用于进入自举程序;
  • 如果目标MCU和Board设置了正确的设置;

通常avrdude -v -v -v -v可以帮助很多人发现它在哪个阶段失败。 无论是USB连接(电缆故障,USB / UART,PCB …),还是引导加载程序问题。

更新 :我试着把板载的Atmega旋转到另一个方向。 现在,我没有遇到任何问题上传,但事后没有任何反应。 车载L​​ED也不会闪烁。

恐怕如果你颠倒了atmega的位置,然后它不起作用,那么你把电源放在数字引脚上的事实可能会烧毁你的芯片。

试着看看你的主板是否被正确select。 点击菜单Tools – > Board,检查是否select了正确的板子。

我也遇到过这个问题,我通过重新安装USB串口驱动来解决这个问题。 请参见: http : //arduino.cc/en/Guide/Howto和http://www.ftdichip.com/Drivers/VCP.htm

您可以检查是否有任何跳线连接到引脚0和1,引脚用于串行通信,插入的电线可以防止代码上传到电路板上。

如果没有插入任何东西,这可能是avrdude一个错误,你可以尝试更新它。

希望能帮助到你! 🙂

以上错误分3个阶段

  1. 如果引导装载程序已经崩溃
  2. 如果你没有从IDE中select适当的端口和正确的板子
  3. 如果你与其他串口通信已经连接,那么GND和Tx引脚连接到其他通信设备

我按照以下说明解决了OS X Yosemite 10.10的问题:

http://www.mommosoft.com/blog/2014/10/24/ftdi-chip-and-os-x-10-10/

然而,hoipolloi提出的这个技巧也是一个临时的解决方法。

Windows 7上 ,我多次遇到这个问题,每次都有不同的错误信息。 基本上,IDE发送到错误的端口。 要解决这个问题,只需进入“工具” – >“端口” – > [select您的开发板所在的COM端口]。

确保仔细检查你的主板的端口:

1)启动设备pipe理器

开始菜单

2)确保您的Arduino驱动程序在与IDE端口设置相匹配的端口下面列出(如上所述)

装置经理

3)我的电路板在端口COM1 。 如果你愿意,你可以简单地在驱动程序的高级设置中更改端口:

在这里输入图像说明

我在我的Arduino上也有这个问题。 它发生在我的两个Arduinos(一个Arduino Uno和一个与FTDI相连的Arduino Pro上)。

对于Uno,我把电缆连接到我的电脑,然后按上传,然后开始计数,直到“TX”LED闪烁。 然后重复上传,但在TX LED闪烁之前,点击重置button,上传成功。

我后来确定,更换USB电缆解决了这个问题。

我也一样。 在我第一次尝试Arduino UNO。 我的解决办法很简单。 只需拔出,然后插入USB电缆。 希望对你有效。

首先,确保/ dev / ttyUSB0有效。 例如插入鼠标并检查它的工作。 其次,尝试select其他板子。 非原创电路板往往不能正确识别其名称。 第三,尝试上传草图时手动按下重置button。 可能自动重置被打破。

我从这里下载并安装了旧的FDTM驱动程序,解决了一个问题。

尝试安装FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg ,然后重新启动Arduino。

只是想我会指出,我的全新Arduino Uno Rev3板使用以下LInux驱动程序:

 Device Drivers |-USB Drivers |-USB Modem (CDC ACM) support 

这在最近的LInux 3.x内核中被称为: CONFIG_USB_ACM:选项。

这个设备然后是: /dev/ttyACM0或类似的。

所以我find了这个原因…改变我的串口到/dev/tty.usbmodem2131修复它。 原来我一直在使用错误的串口!

你可以试试:

  • 检入preferences.txt serial.debug_rate: serial.debug_rate=9600
  • 只要上传,就尝试点击arduino的重置button。
  • 否则尝试在arduino-> tools菜单中select另一张卡,然后重新select列表中的卡。

只是想我会添加一个解决scheme,为我工作在Mac Pro(桌面)上运行

我得到了同样的错误,事实certificate,因为我已经连接到外围设备(我的显示器),而不是在PC本身的USB USB。 立即停止任何错误和一个简单的解决scheme。

以上答案的组合解决了我的问题:

  • 执行了java更新:

    sudo apt-get install default-jdk

  • 然后杀死了arduino IDE并重启了它

  • 现在我的正确的董事会出现了(arduino兆丰2560,之前兆丰1280是唯一的select)

  • 对于司机,我做到了这一点:

    sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)

之后,我的arduino IDE在工具/串口菜单中显示/dev/ttyACM0

现在,一切都很好!

你有什么东西连接到Arduino的RESET引脚?

我遇到了一个需要连接到RESET引脚的graphicsLCD的问题。 断开LCD与RESET引脚之间的连接线,上传代码将其固定,然后只要代码完成上传,您就必须重新连接。

您是否安装/更新FTDI电缆的驱动程序? ( http://arduino.cc/en/Guide/Howto上的第三步)。; 从我的Raspberry Pi运行Arduino IDE运行良好,没有明确安装驱动程序(无论是预安装的还是Arduino IDE安装程序处理的)。 在我的Mac上,情况并非如此,除了IDE之外,我还必须安装电缆驱动程序。

我刚刚在这个相同的问题上花了最后的几个小时…只要去这里“ http://www.ftdichip.com/Drivers/VCP.htm ”,下载最新的驱动程序,并重新启动。 之后应该工作得很好。 我也下载了Arduino软件的一个晚上,但我没有夸大其词。

我有同样的问题,自己解决。

首先:我有一个(OSEPP UNO r3 PLUS)。 这是由OSEPP制造的Arduino UNO REV 3。

我刚刚买了一个OSEPP电机和伺服控制器屏蔽。 我刚刚得到了电机的工作,然后我偶然发现了同样的错误。 avrdude:stk500_recv():程序员没有响应。

我猜想,当它连接它/分配了一个新的串行端口。 在“工具>串行端口”下的arduino程序中find。 我刚刚重新select了与UNO相关的那个,解决了问题。

希望能帮助别人。

我和arduino有同样的问题,因为提出的大部分解决scheme都不起作用。 L LED一直亮着。 我的问题是通过取消执行IDE并select实验版本1.5.8来解决,然后在主板上我select了底层选项Arduino Due(编程端口),当然您也需要在编程端口上连接USB。

这可能会被阻止,但它让我感到震惊:确保您的USB电缆(在Arduino一侧)连接正确(完全插入)。 确保已按照此处所述(适用于Windows)检测到设备: https : //stackoverflow.com/a/26913070/3361975

我试图把我的伺服器连接到arduino的5V引脚,把处理器连接起来,这就是为什么我得到了这个故障

avrdude:stk500_recv():程序员没有响应

解决scheme:购买新的arduino和伺服的外部5V电源。

尝试加载没有-b(波特率选项)的程序。 在〜/ .arduino15 / preferences.txt中设置build.verbose = true,当arduino.cc没有运行。 在详细输出中,您将find应该从控制台加载的hex文件:

 avrdude -v -v -v -v -C/usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB2 -D -Uflash:w:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i 

我只是用328版本来replace芯片128,并且由于新的波特率115200,我的主板名称被更改为Uno或以太网。

如果您通过USB集线器连接Arduino,请尝试将其直接连接到Mac上的其中一个USB端口。
这对我有效。

我不得不select正确的板子 。 转到工具 – > 电路板 – > Arduino纳米例如。

对我来说,就像设置正确的端口一样简单。

要设置到工具>端口,并从COM1更改为适当的端口。

在此之后,我的程序正常工作

感谢@hoipolloi寻找解决scheme的正确方向。 无论如何,我必须做一些不同的步骤来解决这个问题。
我的情况UNO工作得很好,但在玩过草图后突然停下来。 我正在接收stk500_recv(): programmer is not responding所有的时间,没有任何工作。 然后我注意到我的电路板上的LED 13一直亮着。 看起来好像一些硬圈的草图在板子上一遍又一遍地跑着,阻挡了对板子的任何input。 不知道,这只是我的感觉。
我试图在没有任何运气的情况下点击RESET,突然尝试以下步骤:

  1. 拔下电路板。
  2. 点击并按住RESET。
  3. 再次插入。
  4. 等几秒钟。
  5. 松开RESETbutton。

在此之后,我注意到板载13 LEDclosures了一秒钟,然后再次打开。 看起来板子实际上正在复位时,有一个短暂的重置窗口。 然后,在@ hoipolloi的解决scheme中,我发现了3个数据包发送之前的“重置”时刻。
希望这可以帮助你找出问题,如果没有其他解决scheme的作品。

提示 。 如果在控制台中上传草图时看不到三条Send: 0 [30] [20]行,请执行以下操作:

  1. 点击Arduino IDE中的“上传”。
  2. 看看日志窗口。 你将能够find像这样的一行:

E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CE:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i

  1. 看起来像是吞下换行符或像这里的空格符号-CE:\Program Files... 它应该是-CE:\Program Files 。 复制这个像记事本,添加缺less的空间,使这一行:

E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -v -v -v -v -C "E:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -patmega328p -carduino -PCOM3 -b115200 -D -U flash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i

  1. 像我上面所做的那样添加4 -v指令。
  2. 打开命令行,将命令粘贴到其中并运行。

现在你会看到更详细的感谢4 -v参数。 最初,Arduino Studio只使用一个。