Mac + Uno + avrdude: stk500_recv(): 烧录器无响应

15

我正在尝试上传.hex文件到Arduino。通过IDE(如Blink示例或其他示例)上传代码时,我没有遇到任何问题。端口和板子都是正确的。

因此,当我尝试上传.hex文件时出现了问题。

avrdude -pm328p -carduino -P/dev/tty.usbmodemfd121 -b57600 -D -Uflash:w:grbl_v0_8c_atmega328p_16mhz_9600.hex -v -v -v -v

avrdude: Version 6.1, compiled on Mar 23 2014 at 04:42:55
     Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
     Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "/usr/local/Cellar/avrdude/6.1/etc/avrdude.conf"
     User configuration file is "/Users/Mikhail/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/tty.usbmodemfd121
     Using Programmer              : arduino
     Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

我尝试过:

  • 我在桌子上有4个Uno(原版+免费版本),出现了相同的问题。
  • 我从这里安装了最新的驱动程序,尝试过使用和不使用它们。
  • 使用了Arduino IDE(1.0.5和夜间构建版本)自带的avrdude以及最新的avrdude v.6.1 brew install avrdude
  • 不同的波特率降至9600
  • 按照这里的建议,在发送字节后尝试按复位键。

根据hoi pollio在这里的回答,在正确的时间内重置板子对我有用。 - Walrus the Cat
8个回答

13

失败的另一个原因:错误的引导程序

最近购买了一个Arduino Nano板,但在试图上传Blink进行测试时失败了。由于该板是在2018年1月之前生产的,只需选择处理器 > "ATmega328P (旧的引导程序)" 就可以解决问题 (https://www.arduino.cc/en/Guide/ArduinoNano#toc4)


3
这对我也起了作用 :) - Mihai Fratu

8
我解决问题的方法是:
  • 将Arduino的USB电缆断开
  • 尝试上传程序
  • 上传失败后,Arduino应用程序会询问您要使用哪个USB端口。
  • 我这样做了两次
  • 然后将USB电缆插入Arduino
  • 上传您的程序...成功!

注意:在安装Mikhail提到的驱动程序之前不久。

设置:Mac OS 10.9.5,Arduino.app 1.0.6,Arduino Duemilanove


今天在macOS Sierra 10.12.4上,使用Arduino应用程序1.8.2和Arduino Uno,这个可以正常工作。 - Chris Cartland
在macOS Mojave 10.14.6上遇到了同样的问题,安装了更新的驱动程序后,它终于又可以正常工作了。http://www.ftdichip.com/Drivers/VCP.htm - dommmm
我有一台Mac和Arduino UNO。一直在努力解决这个问题,尝试了很多方法,但仍然无法上传任何东西。我已经试过我的朋友的电脑,我的硬件工作正常。我今天也尝试了这个答案,但在那一步骤中Arduino没有问我要使用哪个端口。发表此评论是希望能得到其他建议,否则我就放弃了。真心烦透了 :/ - Flardryn

1

我遇到了同样的错误,问题在于我在电路图中使用了TX/RX引脚(上传时需要它们为空闲)。


1
我曾经遇到过Ardunio Leonardo开发板的同样问题。我注意到我忘记在IDE中设置我的开发板版本。在选择正确的开发板(工具-->开发板-->Ardunio Leonardo)后,问题得到了解决。

1

我遇到了同样的问题。但是我通过进入“工具”->“串口”,然后选择tty.ADR6300-SerialPort来解决了它。


1
我刚从亚马逊购买了一块Arduino Monkey Nano开发板,遇到了这个确切的问题。我正在运行Arduino软件版本1.0.5和mac osx版本10.9.4。
我尝试了许多不同的建议(如上传时按住复位键),但没有一个可靠地工作。在所有文档中都指出,对于Mac不需要更新的USB驱动程序,然而,我刚刚从http://www.ftdichip.com/Drivers/VCP.htm下载了更新的驱动程序(2.2.18)。
下载并启动FTDI..._10_4_....文件后。安装完毕后,返回到Arduino IDE并上传一个草图...它完美地工作了!

0

昨晚我也遇到了Arduino Uno的同样问题。在头痛了一番之后,我将Arduino IDE升级到了1.6.0版本。我是在Mac OS X上完成的,只需从Arduino主页下载1.6.0即可。

安装后,在我的情况下选择正确的板子:/dev/tty/usbmodem____(Arduino Uno)

错误得到了解决,我可以再次上传程序,而无需进行任何棘手的复位按钮操作,即在程序上传后一秒钟按住复位按钮5秒钟。

这对我有用,希望对其他人也有用!


0

使用Hex Uploader成功解决。

它是为了在Mac OS上将.hex文件烧录到Arduino而创建的。

其他操作系统的选项在grbl文档中描述。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接