Arduino Sketch upload issue - avrdude: stk500_recv(): programmer is not responding

I have an Arduino Duemilanove with an ATmega328. I am working on Ubuntu 12.04 (Precise Pangolin), and the Arduino IDE's version is 1.0. Recently, I tried to upload a few of the sample sketches onto it, such as the Blink one. However, none of my attempts are working and they result in the same error every time I try it:

avrdude: stk500_recv(): programmer is not responding.

I have enabled /dev/ttyUSB0 under menu ToolsSerial Port. I have also selected the correct board (Duemilanove with ATmega328) from the list. Yet, I am not able to resolve the issue. I have searched online as well and none of the other responses for this problem seem to be working for me. Why I am encountering this issue and how to resolve it?

I also tried turning the onboard ATmega and fitting it in the other direction. Now, I encounter no problems uploading, but nothing happens afterwards. The onboard LED also does not seem to be blinking.

597751 次浏览

您可以检查是否有任何跳线插入引脚0和1。这些引脚用于串行通信和插线可以防止代码被上传到板上。

如果没有插入任何东西,它可能是一个与 AVRDUDE的错误,您可以尝试更新它。

首先,确保/dev/ttyUSB0可以工作。 第二,尝试选择其他板块。非原创板块往往不能正确识别其名称下。 第三,在上传草图时试着手动按下复位按钮。可能是自动复位坏了。

我在 Mac 上运行 Arduino 时也遇到了这个问题。它发生在我的两个 Arduino 上(一个 Arduino Uno 和一个与 FTDI 连接的 Arduino Pro)。

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

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

我在使用 Crowduino 时遇到了一个问题,在 OS X 上运行 Arduino IDE。我的解决方案是在上传期间打开详细输出(在 Arduino IDE 首选项窗格中)。

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

诀窍是在发送这三个数据包之前立即点击板上的复位按钮。然后程序就会成功上传。

你安装/更新 FTDI 电缆的驱动程序了吗?(http://arduino.cc/en/Guide/Howto第三步)。在我的 Raspberry Pi 上运行 Arduino IDE 工作得很好,没有显式安装驱动程序(要么是预先安装的,要么是 Arduino IDE 安装程序处理的)。在我的 Mac 上,情况并非如此,除了 IDE 之外,我还必须安装电缆驱动程序。

以上错误分为三个阶段

  1. 如果引导加载程序已崩溃
  2. 如果您没有从 IDE 中选择适当的端口和适当的电路板
  3. 如果您与其他串口连接,即 GND 和 Tx 引脚连接到其他通信设备

我也遇到了这个问题,我解决了重新安装 USB 串行驱动程序。请参阅: http://arduino.cc/en/Guide/Howtohttp://www.ftdichip.com/Drivers/VCP.htm

试着看看你的冲浪板是否选对了。点击菜单工具-> 板和检查是否正确的板选择。

我通过从 给你下载并安装旧的 FDTM 驱动程序解决了我的一个问题。

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

在这些好主意中,有一些关于伏都教的回答。让我们对正在发生的事情更加真实一点,总结一下好的方面:

基本上,当这种情况发生时,启用 AVRDUDE的详细模式是一个好主意,可以更好地了解正在发生的情况。为此,您只需进入首选项并选中详细模式框。离开 Arduino IDE,启动一个控制台来更舒适地阅读 AVRDUDE 的输出,这也是一个好主意,您可以点击 upload按钮。

这里重要的是将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 responding,它基本上意味着一些错误正在发生,之前的闪烁实际上开始。

基本上你必须检查(从硬件到软件,从低级到高级) :

  • 如电缆及/或连接器没有微切口;
  • 如果没有焊点短路(例如,接触周围的金属物) ,这意味着:
    • 如果在 RxTx之间的 PCB 上没有短路(通常是针 10) ;
    • 如果没有接触到电路板下面的金属元件,或者在元件的两腿之间没有接触到微小的元件(如 FTDI、 ATmega芯片或其他) ;
  • 如果 ATmega 芯片没有断电(GND/VCC快捷方式或切断或 VCC输入死机...) ;
  • 如果 Arduino 的 10引脚没有被某些屏蔽或定制设计使用(/!\不适用于 列奥纳多,因为它有独立的 USB 处理) ;
  • 如果 USB 到 UART 转换器没有问题(旧的 Duemilanove 上的 FTDI或新的 Arduino Unos 上的 ATmega16U2) ;
  • 如果 ATmega328芯片烧坏或错误安装;
  • 如果引导装载程序已被覆盖或正在失败;
  • 如果应用正确的波特率进入引导装载程序;
  • 是否为目标微控制器和板设置了正确的设置;

通常,avrdude -v -v -v -v可以帮助很多人发现它在哪个阶段失败。无论它不能做一个 USB 连接(电缆故障,USB/UART,PCB...) ,或者它是一个引导程序的问题。

更新 : 我试着将车载 ATmega 转向另一个方向。现在,我没有遇到上传问题,但之后什么都没有发生。车载 LED 也似乎没有闪烁。

我担心如果你把 ATmega 的位置反过来,然后它就不工作了,你把电源放在数字引脚上的事实可能烧坏了你的芯片。

我刚刚花了几个小时在这个问题上... 只要去这里“ http://www.ftdichip.com/Drivers/VCP.htm”,下载最新的驱动程序和重新启动。之后应该就没问题了。我每晚还下载了 Arduino 软件,但是我不觉得这有什么不同。

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

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

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

然后这个设备就会显示为: /dev/ttyACM0或类似的。

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

第一: 我有一个(OSEPP UNO r3 PLUS)。这是一个 Arduino UNO REV 3由 OSEPP。

我刚买了一个 OSEPP 马达和伺服控制器盾牌。我只是让发动机工作,然后我无意中发现了同样的错误。Stk500 _ recv () : 程序员没有响应。

我猜在连接的过程中,它创建/分配了一个新的串行端口。在菜单 工具 & rarr; 串口下的 Arduino 程序中找到。我只是重新选择了 Arduino Uno 的那个然后,问题就解决了。

确保 Tx/Rx 引脚没有输入,这样就可以工作了。

你确定没有别的东西在使用你的连接吗?我也有同样的问题,经过几个小时的研究,我发现我的根本原因是不同的。实际上,我必须终止由使用串行连接的 Python 脚本启动的任务。对我来说,这种方法非常有效:

sudo killall python

这将毫不客气地杀死当前所有的 python 进程。

我找到了原因。

将串行端口更改为/dev/tty.usbmodem2131修复了它。原来我一直都用错了串口!

你可以试试:

  • 检入 ferences ences.txt seral.debug _ rate: serial.debug_rate=9600
  • 否则,尝试在上传时点击 Arduino 的重置按钮。
  • 否则尝试在 Arduino IDE 菜单 工具中选择另一个卡,然后在列表中重新选择您的卡。

上述答案的组合为我解决了这个问题:

  • 执行 Java 更新:

    sudo apt-get install default-jdk

  • 然后关闭 Arduino IDE 并重新启动它

  • 我正确的董事会现在出现了(Arduino Mega 2560,其中之前 Mega 1280是唯一的选择)

  • 对于车手,我这样做:

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

之后,我的 Arduino IDE 将在 tools/Series port 菜单中显示 /dev/ttyACM0

现在一切都很顺利!

这里是一个解决方案,为我工作的 MacBook Pro(桌面)上运行。

我也出现了同样的错误,原来是因为我把 USB 连接到了外围设备(我的显示器)上,而不是 PC 上的 USB。它立即停止任何错误,是一个简单的解决方案。

我按照下面的指示解决了 OS X v10.10(约塞米蒂国家公园)的问题:

FTDI 芯片和 OS X 10.10

然而,技巧 由市民提议是一个工作的临时解决方案,在这个版本太。

我在 Arduino Duue 上遇到了同样的问题,而且提出的大多数解决方案都不起作用。

L 型 LED 灯一直亮着。我的问题通过卸载 IDE 并选择实验版本1.5.8得到了解决。然后在黑板中,我选择了底部选项 Arduino Due(编程端口)。

当然,您还需要连接编程端口上的 USB 电缆。

我第一次尝试 Arduino Uno 时也遇到了同样的问题。

我的解决方案很简单,只要插上电源,然后再插上 USB 电缆。

视窗7上,我多次遇到这个问题,每次都有不同的错误消息。基本上,IDE 发送到了错误的端口。

要解决这个问题,只需转到菜单 工具 & rarr; 港口 & rarr; [选择您的主板所在的 COM 端口]。

一定要仔细检查你的冲浪板的端口:

  1. 开始 < a href = “ https://en.wikipedia.org/wiki/Device _ Manager”rel = “ nofollow norefrer”> Device Manager

    Start Menu

  2. 确保您的 Arduino 驱动程序列在与 IDE 的端口设置相匹配的端口下(上面提到过)

    Device Manager

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

    Enter image description here

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

Stk500 _ recv () : 程序员没有响应

解决方案: 购买一个新的 Arduino 和外部5伏伺服电源。

尝试加载没有 -b (波特率选项)的程序。在 ~/。Txt 设置 build.verose = true,此时没有运行 arduino.cc。在详细输出中,您将找到应该从控制台加载的十六进制文件:

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

我只是把芯片128换成了328的版本,在 Decimile 的时候,由于新的波特率115200,我的主板名称改成了 Uno 或 Ethernet。

如果您通过 USB 集线器连接 Arduino,请尝试将其直接连接到 Mac 上的 USB 端口之一。
这招对我管用。

我必须选择正确的 冲浪板。例如,转到菜单 工具 & rarr; 冲浪板 & rarr; < em > Arduino Nano

对我来说,设置正确的端口很简单。

要设置它,转到菜单 工具 & rarr; 左舷,并从 COM1更改到适当的端口。

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

感谢@hoipolloi 为寻找解决方案指明了正确的方向。

无论如何,我必须做一些不同的步骤来解决这个问题。

在我的例子中,Arduino Uno 工作得很好,但是在玩了一些草图之后,它突然停止了。我一直在接收 stk500_recv(): programmer is not responding,但都没用。然后我注意到 LED 13总是在我的板上。它看起来像是一些硬循环的草图在黑板上一遍又一遍地运行,阻碍了对黑板的任何输入。不确定,只是我的猜测。

我尝试在所有可能的时刻点击重置,但是没有任何运气,然后突然尝试下面的步骤:

  1. 拔掉插头。
  2. 单击并保持重置。
  3. 再插一次。
  4. 等几秒钟。
  5. 释放 RESET 按钮。

在这之后,我注意到板载13 LED 关闭了一秒钟,然后再次打开。看起来有一个很短的重置窗口当董事会实际上正在被重置。然后就像@hoipolloi 的解决方案一样,我在三个数据包被发送之前抓住了“重置”的瞬间,并且成功了。

如果没有其他解决方案可行,我希望这将帮助您找出问题所在。

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

  1. 在 Arduino IDE 中单击“上传”。
  2. 看看日志窗口,你可以找到这样一条线:

    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
    
  3. Looks like it swallows line break or space symbols like here -CE:\Program Files.... It should be -C E:\Program Files. Copy this like into Notepad, add missing spaces to make the line this:

    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
    
  4. Add 4 -v instructions like I did above.

  5. Open the Command Line, paste the command into it and run.

Now you will see much more verbose thanks to 4 -v arguments. Originally, Arduino Studio uses just one.

在我的例子中,这个问题是在我尝试做一些 “奇怪”算术表达式时提出的

例如(3.14/4)/5或3.15% 2.55

因此,我建议您使用 检查所有的算术表达式,以防 Arduino 无法计算其中一些。

希望能有帮助。

Arduino 上的 RESET引脚有什么线索吗?

我遇到了这个问题与图形液晶显示器,需要连接到 RESET引脚。断开跳线之间的液晶显示器和 RESET引脚,同时上传代码固定它为我,所有你必须做的是重新连接一旦代码已经完成上传。

在我的情况下(Mini Pro) ,解决方案是如此简单,不知道我如何错过了这一点。 我需要交叉 rx/tx 电线。

解决方案:

  • Arduino Rx 引脚到 FTDI Tx 引脚。
  • Arduino Tx 引脚到 FTDI Rx 引脚。

对我来说是错误的波特率,它调用这个命令:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 **-b57600** -D -Uflash:w:C:\Users\Vahid\AppData\Local\Temp\arduino_build_527841/AnalogReadSerial.ino.hex:i

如您所见,波特率设置为57600。当您删除这个参数(- b57600)并在命令行中运行它时,它工作得很好。

我也有同样的问题——这就是为什么我发现了这个问题。

我只需要将处理器从“ ATmega328P”更改为“ ATmega328P (Old Bootloader)”

问题解决了,至少对我来说。

enter image description here

我发布这个是因为我在其他地方没有找到这个答案。 我所有的 Arduino nano chinese (CH340)克隆在升级到 Arduino IDE 到1.8.9之后都有这个问题。对我有用的是使用一个备用的官方 Arduino Uno,我必须烧毁故障的 nano 上的引导装载程序使用纳米上的 ICSP 头。对于这一点,我所做的就是按照这里的说明: 中国克隆的阿尔迪诺纳米芯片 ch340g 如何修复。唯一不同的是,我总是设置“旧的 Bootloader”选项,如前所述,在这个线程。除此之外,我完全遵循了那个链接的指令,并从那个恼人的问题中拯救了我的 nano。我希望这能帮到别人。

我的问题是,我将 Arduino IDE 更新到了一个新版本,但没有重新连接线路。看来这就是问题所在

只要断开电缆,然后重新连接。 谢谢。

在 MAC 操作系统中,只要重新启动计算机,重新启动后就可以工作了。

我把我的 FT232RL 的 DTR 别针连接到我的 Arduino 的 DTR 别针上,它解决了这个问题。

我用的是 Arduino Pro Mini w/ATMega328。

请做以下检查:

1-在上传代码的时候,不要在 TX 和 RX 上连线。
2-彼此之间没有焊针。
3-如果1和2是好的比你必须重新安装到你的引导装载程序到你的阿杜比诺使用另一个阿杜比诺,你可以搜索如何做到这一点在 youtube 有大量的视频谈论它。

在我的情况下,新购买的电路板上的主芯片没有完全插入。- 芯片一侧的支脚插入插槽,另一侧的支脚没有完全插入。芯片有点歪。所以我就把芯片放进插槽,错误就消失了。