我有一个带有Atmega 328的Arduino Duemilanove。我正在使用Ubuntu 12.04,而Arduino IDE的版本是1.0。最近,我尝试将一些示例草图上传到它上面,例如Blink one。但是,我的尝试都没有工作,每次尝试都会导致相同的错误 - avrdude:stk500_recv():程序员没有响应。
我在工具 - >下启用了'/ dev / ttyUSB0'串行端口。我还从列表中选择了正确的板(Duemilanove with Atmega 328)。但是,我无法解决这个问题。我也在网上搜索过,这个问题的其他回复似乎都没有对我有用。有人能告诉我为什么我遇到这个问题并帮我解决它吗?
更新:我尝试转动机载Atmega并将其安装在另一个方向。现在,我没有遇到上传问题,但事后没有任何反应。板载LED也似乎没有闪烁。
答案 0 :(得分:102)
我遇到了Crowduino的这个问题,在OSX上运行Arduino IDE。我的解决方案是在上传期间(在arduino IDE首选项窗格中)打开详细输出。
然后,在上传时,您可以看到avrdude在avrdude: Send: 0 [30] [20]
错误发生之前发送三个数据包avrdude: ser_recv(): programmer is not responding
(板上有相应的RX闪烁)。
诀窍是在发送这三个数据包之前立即点击板上的重置按钮。然后程序将成功上传。
答案 1 :(得分:63)
确保Tx / Rx引脚上没有输入,然后它才能工作。
答案 2 :(得分:44)
我知道这是一篇很老的帖子,但是在这里的答案中有一些伏都教的好话,让我们试着对正在发生的事情更加真实,并总结一下要检查的好东西:
基本上,当发生这种情况时,最好为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
时,它基本上意味着发生了错误,之前闪烁实际开始。基本上你必须检查(从硬件到软件,从低级别到高级别):
Rx
和Tx
之间的PCB上没有短路(通常是引脚1
和0
); 1
和0
引脚未被某些屏蔽或自定义设计使用(/!\
不适用于leonardo,因为它具有独立的USB处理功能); FTDI
或较新的Unos上有Atmega16U2
); 通常avrdude -v -v -v -v
可以帮助很多人找到它失败的阶段。它是否完全不能建立USB连接(电缆故障,USB / UART,PCB ......),或者它是引导加载程序的问题。
更新:我尝试转动机载Atmega并将其安装在另一个方向。现在,我没有遇到上传问题,但事后没有任何反应。板载LED也似乎没有闪烁。
我担心如果你颠倒了atmega的位置,然后它不起作用,你将电源放在数字引脚上的事实可能会烧毁你的芯片。
答案 3 :(得分:36)
答案 4 :(得分:21)
尝试查看您的主板是否被正确选中。点击菜单工具 - >登上并检查是否选择了正确的电路板。
答案 5 :(得分:12)
您可以检查是否有任何插头插入引脚0和1.引脚用于串行通信,插入的电线可以防止代码上传到电路板上。
如果没有插入任何内容,可能是avrdude
的错误,您可以尝试更新它。
希望它有所帮助! :)
答案 6 :(得分:10)
我也遇到了这个问题,我通过重新安装USB串行驱动程序解决了这个问题。请参阅:http://arduino.cc/en/Guide/Howto和http://www.ftdichip.com/Drivers/VCP.htm
答案 7 :(得分:4)
以上错误分为3个阶段
答案 8 :(得分:3)
我按照这些说明解决了OS X Yosemite 10.10上的问题:
http://www.mommosoft.com/blog/2014/10/24/ftdi-chip-and-os-x-10-10/
然而,hoipolloi提出的技巧也是一个有效的临时解决方法,也就是这个版本。
答案 9 :(得分:3)
在 Windows 7 上,我多次遇到此问题,每次都有不同的错误消息。基本上,IDE正在发送到错误的端口。要解决此问题,只需转到“工具” - > “端口” - > [选择电路板所在的COM端口]。
请务必仔细检查您的主板端口:
1)启动设备管理器
2)确保您的Arduino驱动程序列在符合IDE端口设置的端口下(如上所述)
3)我的电路板列在端口COM1
下。如果需要,您只需在驱动程序的高级设置中更改端口:
答案 10 :(得分:3)
我也一样。在我第一次尝试Arduino UNO时。 我的解决方案非常简单。只需拔出插头即可插入USB线。希望它适合你。
答案 11 :(得分:2)
我在Mac上运行的Arduino上也有这个问题。它发生在我的两个Arduinos(一个Arduino Uno和一个与FTDI连接的Arduino Pro)上。
对于Uno,我将电缆连接到计算机并按上传,然后开始计数,直到“TX”LED闪烁。然后重复上传,但就在TX LED闪烁之前,点击重置按钮,上传成功。
我后来确定更换USB线修复了这个问题。
答案 12 :(得分:2)
请进行以下检查:
1-上载代码时,arduino的TX和RX中没有电线。
2-彼此之间没有焊接的引脚。
3-如果1和2没问题,则必须使用另一种arduino将引导加载程序重新安装到arduino中,您可以在youtube中搜索如何执行该操作,那里有很多关于它的视频。
答案 13 :(得分:1)
你有没有连接到Arduino上RESET
引脚的东西?
我使用图形LCD遇到了这个问题,需要连接到RESET
Pin。在上传代码时,断开LCD和RESET
引脚之间的跳线,为您修复代码,然后在代码上传完成后重新连接。
答案 14 :(得分:1)
只是想我添加一个适合我在mac pro(桌面)上运行的解决方案
我得到了同样的错误,结果是因为我将USB连接到外围设备(我的显示器)而不是PC本身的USB。立即停止任何错误并提供简单的解决方案。
答案 15 :(得分:1)
所以我找到了原因...... 将我的串口改为/dev/tty.usbmodem2131修复了它。事实证明我一直在使用错误的串口!
答案 16 :(得分:1)
感谢@hoipolloi寻找解决方案的正确方向。无论如何,我必须采取一些不同的步骤来解决问题
我的情况是UNO工作得很好但是在玩了一些草图之后突然停了下来。我一直收到stk500_recv(): programmer is not responding
而没有任何效果。然后我注意到LED 13在我的电路板上总是打开。看起来有些硬环状草图在电路板上反复运行,阻止了对电路板的任何输入。不确定,这只是我的好处
我试着在没有任何运气的情况下点击RESET,突然尝试了以下步骤:
在此之后,我注意到板载13 LED关闭了一秒钟然后再次打开。当电路板实际复位时,看起来有一个短暂的复位窗口。然后就像@ hoipolloi的解决方案一样,我抓住了"重置"就在发送3个数据包之前就已经开始工作了 希望如果其他解决方案都不起作用,这将帮助您找出问题。
提示即可。如果在控制台中上传草图时没有看到三条Send: 0 [30] [20]
行,请执行以下操作:
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
-CE:\Program Files...
。它应该是-C E:\Program Files
。将此内容复制到记事本中,添加缺少的空格以生成以下行: 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
-v
说明。现在,由于4个-v
参数,您将看到更多详细信息。最初,Arduino Studio只使用一个。
答案 17 :(得分:1)
上述答案的这种组合解决了我的问题:
执行了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在工具/串口菜单中显示/dev/ttyACM0
现在,一切都很棒!
答案 18 :(得分:1)
您可以尝试:
serial.debug_rate=9600
答案 19 :(得分:1)
只是想到我指出我的全新 Arduino Uno Rev3板使用以下内容 LInux驱动程序:
Device Drivers
|-USB Drivers
|-USB Modem (CDC ACM) support
这在最近的LInux 3.x内核中称为:CONFIG_USB_ACM:
选项。
然后,此设备显示为:/dev/ttyACM0
或类似设备。
答案 20 :(得分:1)
我通过从here下载并安装旧的FDTM驱动程序解决了我的问题。
尝试安装FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg
,然后重新启动Arduino。
答案 21 :(得分:1)
首先,确保/ dev / ttyUSB0正常工作。例如。插上鼠标并检查它是否有效。 其次,尝试选择其他板。通常,非原始电路板在其名称下无法正确识别。 第三步,在上传草图时尝试手动按下重置按钮。可能会自动重置。
答案 22 :(得分:0)
在我的情况下,新购买的主板上的主芯片没有完全插入。 - 芯片的一侧插入插槽,另一侧未完全插入。芯片略微倾斜。所以,我只是将芯片推入插槽,错误就消失了。
答案 23 :(得分:0)
我的问题是我将Arduino IDE更新到新版本,并且没有重新连接电线。看起来就是问题所在
只需断开电缆并重新连接。 谢谢。
答案 24 :(得分:0)
在MAC OS中,只需重新启动计算机,计算机在重新启动后即可正常工作。
答案 25 :(得分:0)
我将FT232RL的 DTR引脚连接到Arduino的 DTR引脚,它解决了该问题。
我正在使用带ATMega328的Arduino Pro Mini。
答案 26 :(得分:0)
我发布此消息是因为我在其他地方找不到此答案。 在将Arduino IDE升级到1.8.9之后,我所有的Arduino nano中文(CH340)克隆都出现了此问题。对我有用的是使用备用的官方Arduino Uno,我必须使用Nano上的ICSP接头烧毁有故障的Nano上的引导程序。为此,我要做的只是遵循此处的说明:chinese-clone-of-arduino-nano-with-chip-ch340g-how-to-fix-it。我所做的唯一不同的事情是始终如本线程中之前所述设置“ Old Bootloader”选项。除此之外,我完全按照该链接上的说明进行操作,从而使我的nanos摆脱了烦人的问题。我希望这对外面的人有帮助。
答案 27 :(得分:0)
对于我的情况,这是错误的波特率。它调用此命令:
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)并在命令行中运行它时,它可以正常工作。
答案 28 :(得分:0)
在我的情况下(Mini Pro),解决方案非常简单,不确定我是如何错过的。 我需要交叉rx / tx线。
解决方案:
答案 29 :(得分:0)
在我的情况下,当我尝试做一些“奇怪的”算术表达式时出现问题
例如(3.14 / 4)/ 5或3.15%2.55
所以,我建议你检查所有算术表达式,以防Arduino无法计算其中一些算法。
希望它有所帮助。
答案 30 :(得分:0)
对我来说,这就像设置正确的端口一样简单。
要设置,请转到工具>端口并从COM1更改为适当的端口。
在此之后我的程序正常工作
答案 31 :(得分:0)
我必须选择正确的主板。例如,转到工具 - > Boards - > Arduino Nano 。
答案 32 :(得分:0)
如果您通过USB集线器连接Arduino,请尝试将其直接连接到Mac上的其中一个USB端口。
这对我有用。
答案 33 :(得分:0)
尝试加载不带-b的程序(波特率选项)。在〜/ .arduino15 / preferences.txt中设置build.verbose = true,当arduino.cc未运行时。在详细输出中,您将找到应从控制台加载的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版本替换了芯片128,并且从Decimile我的电路板名称由于新的波特率115200而改为Uno或以太网。
答案 34 :(得分:0)
我试图将我的伺服连接到arduino 5V引脚,打破处理器,这就是我失败的原因
avrdude:stk500_recv():程序员没有回复
解决方案:为伺服系统购买新的arduino和外部5V电源。
答案 35 :(得分:0)
这可能会延迟,但它让我感到震惊:确保您的USB电缆(在Arduino侧)已正确连接(完全插入)。确保已按照此处所述(对于Windows)检测到设备:https://stackoverflow.com/a/26913070/3361975
答案 36 :(得分:0)
我和arduino有同样的问题因为大多数提出的解决方案都没有用。 L LED一直亮着。通过取消IDE并选择实验版1.5.8解决了我的问题,然后在主板上我选择了底部选项Arduino Due(编程端口),当然你也需要在编程端口上连接usb。
答案 37 :(得分:0)
我遇到了同样的问题并自行解决了。
第一: 我有一个(OSEPP UNO r3 PLUS)。它是由OSEPP制作的Arduino UNO REV 3。
我刚买了一台OSEPP电机和伺服控制器屏蔽罩。我只是让电机工作,然后我偶然发现了同样的错误。 avrdude:stk500_recv():程序员没有响应。
我想当它连接时它已经/分配了一个新的串口。在"工具>下的arduino程序中找到串口"。我刚刚重新选择了与UNO和bam相关的问题,解决了问题。
希望有助于某人。
答案 38 :(得分:0)
我刚刚在同一个问题上花了最后几个小时......只需到这里“http://www.ftdichip.com/Drivers/VCP.htm”,下载最新的驱动程序并重启。之后应该工作得很好。我还下载了一个每晚的Arduino软件,但我并没有因为它有所作为。
答案 39 :(得分:0)
您是否安装/更新了FTDI线缆的驱动程序? (http://arduino.cc/en/Guide/Howto上的第三步)。从我的Raspberry Pi运行Arduino IDE工作正常,没有明确安装驱动程序(他们已经预安装或Arduino IDE安装程序负责)。在我的Mac上,情况并非如此,除了IDE之外,我还必须安装电缆驱动程序。
答案 40 :(得分:-1)
您确定没有其他人使用您的连接吗?我有同样的问题,经过几个小时的研究,我发现我的根本原因是不同的。基本上我不得不杀死使用串行连接的python脚本启动的任务。就我而言,这很有效:
sudo killall python
这将毫不客气地杀死所有当前的python进程。