Arduino Nano上传出现错误:avrdude:stk500_recv():程序员未响应


19

我有一个Arduino Nano(Sainsmart),我正在尝试将草图上传到其中。在Arduino IDE下,选择的设备为Arduino Nano w/ ATmega328

但是上传草图给我错误

avrdude: stk500_recv(): programmer is not responding

我尝试了两个USB端口(/dev/tty.usbserial/dev/cu.usbserial),但相同的错误仍然存​​在。Arduino通过USB电缆连接到Macbook Air,并且PWRArduino上的LED指示灯点亮,并且LED指示灯L闪烁。上传到Arduino Uno没问题。

http://www.ftdichip.com/Drivers/VCP.htm安装最新的FTDI驱动程序(MAC OSX,x64,v2.2.18,FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg)后重试。但是,这没有帮助。

可能出了什么问题?

Answers:


5

该错误消息基本上可以解决任何通信问题,因此,它本身并没有那么大的指导意义。Arduino Nano应该具有自动重置功能,但也许您的克隆没有?在这种情况下,您必须在开始上传之前按板上的重置键。


根据设备描述Features: Automatic reset during program...
alexan_e 2014年

5
是的,但是根据亚马逊页面上的评论,一些购买了该品牌的人获得了另一个克隆品牌,因此在我看来,对于文档中的任何声明都存在一定的健康怀疑态度,尤其是如果他们可以轻易地经过实验验证。
microtherion 2014年

我没有阅读评论,但在这种情况下,您可能是对的。
alexan_e 2014年

1
虽然打在复位只是在合适的时间可以工作(可能需要多次尝试),纳米克隆它几乎总是由官方Arduino.cc开发商认为是造成问题的引导装载程序的串行速度的变化。这个答案更有可能产生可靠的结果:工具→处理器→ ATmega328P(旧的引导程序)
scruss

36

知道这很旧,但是我在搜索Nano(V3)没有上传时遇到了它,因此认为可能会对其他人有所帮助。问题是引导程序-Arduino IDE但我找​​到了一个简单的解决方案(就在我的鼻子底下)。

我意识到我的nano可以正常上传,然后我终于将Arduino AVR开发板从1.6.20更新到1.6.21。我认为没有任何问题,因为更改后它仍然在董事会经理中显示了我的Nano和ATmega328等。

但是新任董事会经理为Nano选择了新的ATmega328处理器。我更改了处理器:在Arduino IDE中,选择TOOLS>> PROCESSOR从ATmega328P的下拉菜单到 "ATmega328P (Old Bootloader)"

从那时起,我将许多程序毫无问题地上传到了多个不同的Nano的V3(Prolofic接口芯片组)中。


@sa_leinad-请不要更改其他帖子的含义。张贴者说他们更新的是AVR板套件,而不是IDE。此特定版本中断已在其他地方报告。
克里斯·斯特拉顿

6
但这为我解决了这个问题!
Ewout

2
该解决方案仍然有效,我已经在Arduino IDE 1.8.7稳定版,1.8.8每小时构建版(夜间)上进行了测试(2018年11月5日23:59 GMT和1.9 Beta Build-87,带有Arduino AVR板1.6.23
Unknown123 '18

引导加载程序的更改随着Arduino IDE 1.8.6的发布而公开:github.com/arduino/Arduino/releases/tag/1.8.6有关更多信息,请参见arduino.stackexchange.com/questions/51866/…ISP(或另一个Arduino的)需要更新引导加载程序:arduino.stackexchange.com/questions/66806/...
手柄

谢谢,切换到ATmega328P (Old Bootloader)帮助我解决了stk500_recv(): programmer is not responding stk500_getsync() attempt 1 of 10: not in sync: resp=0x79问题。实际上,我感觉在使用旧版的GUI(默认情况下具有此选项)之前。
dma_k

4

我的电脑有类似问题Sainsmart Nano

Preferences过程中勾选“显示详细的输出[X]上传,然后上传时,你应该得到一个红色曲线是这样的:

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/johannes/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbserial-A403MRTP
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 

在的第一行之前,您会注意到一些“暂停” avrdude: Send: 0 [30] [20]。尝试再次上传,让您准备好自己的物理重置按钮Nano在第一个avrdude: ...出现之前,请按重设按钮。

成功后,您会看到屏幕上出现各种乱七八糟的东西,并在几秒钟后结束了类似的事情:

[78] . [00] S [53] h [68] o [6f] u [75] l [6c] d [64]   [20] b [62] e [65]   [20] 0 [30] x [78] 4 [34] 9 [39] D [44] 4 [34] . [00] . [01] . [00] . [00] . [00] . [02] . [00] . [03] . [00] . [04] . [00] . [00] . [00] . [00] . [00] . [e6] . [06] . [b5] . [06] n [6e] . [06] w [77] . [06] . [8c] . [06] . [9d] . [06] . [00] . [00] . [00] . [00] . [02] . [0d] . [aa] . [0d] . [95] . [0c] . [c9] . [0c] . [a9] . [0c] . [f2] . [0c] . [00] 
avrdude: Recv: . [10] 
# | 100% 3.71s

avrdude: verifying ...
avrdude: 8824 bytes of flash verified
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

这就是说,相关的Arduino(或仿制产品)在上传之前不会自动重置,您必须通过按下按钮进行手动操作。
kontur

4

我遇到了同样的问题,并且得到了同样的错误消息。事实证明,这些主板没有预装引导程序。如果您有一些跳线和另一个可以工作的arduino,则可以使用本教程来安装引导加载程序,它应该可以很好地工作,至少我的做到了!:)


3

最近,我刚从亚马逊购买了3个Nano板,也遇到了同样的问题。我可以确认建议的修复程序(更改为“旧的引导程序”)解决了我的问题。

我认为主要问题是上传速度。“旧的引导程序”版本已成功在57600上载,但默认的“新”版本试图在115200上载并失败。


是的,这也是我的问题。发现这里的解释arduino.stackexchange.com/a/51874/47260
阿瑞丹姆

1
这只是先前发布的答案的重复。
克里斯·斯特拉顿

2

我也有该错误信息。我认为可能有很多原因,因此我急于说明我的特殊情况。

我有一个OS X Yosemite 10.10.2,Arduino软件1.0.6和Funduino UNO的hackintosh。首次成功上传Serial.write()的示例。此后,大多数上传失败。即使上传成功,串行监视器也不会始终显示输出。

在我看来,这是由于USB端口通讯不正确造成的。我不得不反复重置Funduino,拔出并重新插入USB电缆,甚至重新启动系统。重新插入USB电缆时,有时我的系统会死机。

通过谷歌搜索,我找到了“插入USB设备导致Mavericks 10.9.1冻结”的解决方案。在tonymacx86.com上回答12号基本上会指示您从/ System / Library / Extensions中删除GenericUSBXHCI.kext。

我很高兴地报告,删除此kext后,我在上载示例和监视输出方面没有任何问题。因为我不需要重新插入USB电缆,所以我不知道这是否可以解决系统冻结问题。我什至不确定这是系统死机,因为我的系统可能只对USB键盘和鼠标无响应。


2

您是否记得告诉IDE主板类型是Nano?

Tools-> Board=>Arduino Nano ...

每当我在Nano和Uno之间切换时,这都会让我受益。


1

有相同的问题和解决方法如下:

  • 确定我的arduino为CH340 / ATmega168P(写在PCB上)
  • 去了IDE,并从列表中选择不是UNO,而是“ Arduino Pro或Pro Mini”
  • 选择此选项后,新菜单“处理器”选择可用(仅在电路板选择下)
  • 选择我的处理器ATmega168P并进行上传就像一个魅力!

电路板的选择不取决于USB接口芯片,而仅取决于处理器和波特率。
克里斯·斯特拉顿

0

我在使用两个Gravitech US Nanos时遇到了类似的问题。以下方法都不适合我,但列表应该详尽无遗:

  • 确保最新的FTDI驱动程序(如果看不到COM端口,则适用)
  • 如果nano没有,请刻录引导程序,例如使用第三个nano
  • 将25和26引脚焊接在一起以将TEST引脚连接到(A)GND
  • 尝试在上传之前通过按钮手动重置Nano

0

每次我尝试将其连接到OSEPP Nano时,Arduino IDE 1.8.5版都会出现相同的错误。我在Windows 10和具有2种不同Nano的Mac OsX上进行了尝试,还尝试在IDE上回滚到1.8.4。串行环回测试也通过了。我将开发板设置为“ Arduino Nano”,并将处理器设置为ATmega382P。我确保设置了正确的端口,因为当我插入Nano并将其卸下时,可以看到新的端口显示并消失。我正在Nano上使用USB mini连接器。

解决方案是:选择Arduino / Genuino Uno,它就可以了!

有人需要修复此问题,以便选择Nano板与Nano一起使用


0

如果这不起作用,则必须使用spi对nano进行编程。您需要查找连接并使用uno,因为它具有at16u2的串行芯片,其驱动程序可以识别所有atmel产品。连接后,通过将uno刷新为isp来将uno设置为程序员,然后将编程器设置为Arduino,将iso设置为isp并刷新芯片。再检查一遍。好处是,与uart相比,它更不容易出错,并且时序更佳,但接线起来却很麻烦。祝好运


0

我升级Arduino IDE时就出现了这个问题。我通过将处理器更改为“旧”来解决了该问题

工具->处理器->“ ATmega328P(旧引导程序)”谢谢!!!


1
这只是先前发布的答案的重复
克里斯·斯特拉顿

0

好。我programmer is not responding在Atmel MEGA168PA,USB芯片CH340G的Arduino Nano上遇到了相同的错误。macOS 10.14.2下的Macbook Pro

手动安装了Blink示例,并且该端口在列表中不可见。

我试图找出问题所在,并通过编程端口连接了我的Arduino Due。经过2次尝试后,上传了草图...然后我将Nano连接回去,这次可以看到该端口(实际上是其中的两个:/dev/cu.wchusbserial14120/dev/cu.usbserial-14120),然后猜测是什么,上传成功!

魔法!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.