Linux Fedora 中的 Arduino 上传错误“stk500_recv():程序员没有响应”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7562349/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Arduino upload error "stk500_recv(): programmer is not responding" in Fedora
提问by Drew
I am attempting to upload the stock Blinksketch using the Arduino IDE in Fedora Core 15 Linux. I get this error:
我正在尝试使用 Fedora Core 15 Linux 中的 Arduino IDE上传库存的Blink草图。我收到此错误:
avrdude: stk500_recv(): programmer is not responding
avrdude:stk500_recv():程序员没有响应
To recreate the issue:
要重新创建问题:
- Plug in the Arduino Uno board via USB cable
- Open the Arduino IDE
- Menu File→ Examples→ 1. Basics→ Blink
- Menu Tools→ Serial Port→ then check the box for /dev/ttyACM0
- Menu Tools→ Board→ Arduino Uno
- Click the "Play" button to Verify/Compile (this step is successful)
- Click the Uploadbutton, to get the error
- 通过 USB 电缆插入 Arduino Uno 板
- 打开 Arduino IDE
- 菜单文件→示例→ 1. 基础知识→闪烁
- 菜单工具→串行端口→ 然后选中/dev/ttyACM0的框
- 菜单工具→ 开发板→ Arduino Uno
- 点击“Play”按钮验证/编译(此步骤成功)
- 单击上传按钮,获取错误
I tried these same exact steps in Windows XP, and the upload was successful, so I must not have Fedora configured correctly.
我在 Windows XP 中尝试了这些完全相同的步骤,并且上传成功,所以我一定没有正确配置 Fedora。
I followed the Arduino Playground instructions, installing the client using yum
and adding my user ID to the groups uucp, lockand dialout.
我按照Arduino Playground 说明,使用yum
我的用户 ID安装客户端并将我的用户 ID 添加到组uucp、lock和dialout。
I did notfollow the RXTX fixup -- Link the proper filespart of the guide, since the given command did not return any matches: find ~ -name librxtxSerial.so -o -name RXTXcomm.jar | grep -v Download
我并没有跟随RXTX修正-链接正确的文件指导的一部分,因为给定的命令没有找到任何匹配:find ~ -name librxtxSerial.so -o -name RXTXcomm.jar | grep -v Download
采纳答案by Drew
Since this question was posted, a new stable version of Arduino has been released. They are now on 1.0, and it works in Fedora Core Linux 16. It can be downloaded here: http://arduino.cc/en/Main/Software
自从发布了这个问题,一个新的稳定版 Arduino 已经发布。它们现在是 1.0,它可以在 Fedora Core Linux 16 中运行。可以在这里下载:http: //arduino.cc/en/Main/Software
回答by mavit
回答by user1932106
Before uploading your programme, make sure you selected the right board type, from menu Tools→ Board.
在上传您的程序之前,请确保您从菜单Tools→ Board 中选择了正确的电路板类型。
回答by diimdeep
Arduino Uno R3, Mac OS X v10.8.3 (Mountain Lion), any version of Arduino.app. For me changing the USB cable fix this error.
Arduino Uno R3、Mac OS X v10.8.3 (Mountain Lion)、任何版本的 Arduino.app。对我来说,更换 USB 电缆可修复此错误。
回答by red_eyes
Check if you have any jumpers connected to the digital pins 0 or 1. Those pins have also serial communication functions. And because you are uploading on the Arduino board, using the serial connection provided by the USB cable, you don't want the board's serial port to be engaged in other activities via pins 0 or 1.
检查是否有任何跳线连接到数字引脚 0 或 1。这些引脚也具有串行通信功能。并且因为您使用 USB 电缆提供的串行连接在 Arduino 板上上传,所以您不希望板的串行端口通过引脚 0 或 1 进行其他活动。
回答by sauli
I believe the instruction in Why I can't upload my programs to the Arduino board?that says
我相信为什么我不能将我的程序上传到 Arduino 板中的说明?说的是
On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0
在 Linux 上,Uno 和 Mega 2560 显示为 /dev/ttyACM0 形式的设备
does not always apply. In my Ubuntu 14.10(Utopic Unicorn) I can see that port in menu Tools→ Serial Port, but when selected and trying to upload to the Arduino Nano V3 I get the error
并不总是适用。在我的Ubuntu 14.10(Utopic Unicorn)中,我可以在菜单工具→串口中看到该端口,但选择并尝试上传到Arduino Nano V3时,我收到错误
stk500_recv(): programmer is not responding
stk500_recv(): 程序员没有响应
Changing the Tools -> Serial Port to /dev/ttyUSB0 solves the problem.
将 Tools -> Serial Port 更改为 /dev/ttyUSB0 可以解决问题。
I'm guessing that this may be the case in my system where I had an other device at the same USB port before plugging Arduino there. It may be that after restart the situation might be different; I don't know haven't tested. But whatever is the cause, the good news is that the problem can be solved.
我猜在我的系统中可能就是这种情况,在将 Arduino 插入那里之前,我在同一个 USB 端口上有另一个设备。可能是重启后情况可能不同;不知道没测试过。但不管是什么原因,好消息是问题是可以解决的。
You can easily check what is the correct serial port by first checking what ports are available without plugging the Arduino (menu Tools→ Serial Port) and then checking again what is the added port after plugging the Arduino in the USB port.
您可以通过首先检查哪些端口可用而无需插入 Arduino(菜单工具→串行端口),然后在将 Arduino 插入 USB 端口后再次检查添加的端口是什么,从而轻松检查什么是正确的串行端口。
回答by SevenDays
After hours of searching, the problem has been solved:
经过几个小时的搜索,问题已经解决:
Choose menu Tools→ Programmer→ Arduino as ISP
选择菜单工具→程序员→ Arduino作为ISP
回答by ksp
For Windows, I tried doing this
对于 Windows,我尝试这样做
In PowerShell, run
devcon status usb*
. This should show multiple devices similar, one among which would beUSB\VID_2341&PID_8036&MI_00&1D9C3F6B&0&0000 Name: Arduino Leonardo (COM3) Driver is running.
Then do
reg add "HKLM\SYSTEM\ControlSet001\Enum\USB\VID_2341&PID_8036&MI_00\6&1D9C3F6B&0&0000\Device Parameters" /v "PortName" /t REG_SZ /d "COM3" /f.
. Double checkCOM3
is also listed in Device Managermenu of windows.Restart the machine and the Arduino IDE. And try uploading again.
在 PowerShell 中,运行
devcon status usb*
. 这应该显示多个相似的设备,其中之一是USB\VID_2341&PID_8036&MI_00&1D9C3F6B&0&0000 Name: Arduino Leonardo (COM3) Driver is running.
然后做
reg add "HKLM\SYSTEM\ControlSet001\Enum\USB\VID_2341&PID_8036&MI_00\6&1D9C3F6B&0&0000\Device Parameters" /v "PortName" /t REG_SZ /d "COM3" /f.
。双重检查COM3
也列在窗口的设备管理器菜单中。重新启动机器和 Arduino IDE。并尝试重新上传。
回答by unnamedPlayer
For me, changing the cable worked.
对我来说,更换电缆有效。
I was using Ubuntu 17.04(Zesty Zapus), Arduino Nano with ATmega28 and a USB cable with ferrite choke (I don't think ferrite choke was the cause).
我使用的是Ubuntu 17.04(Zesty Zapus)、带有 ATmega28 的 Arduino Nano 和带有铁氧体扼流圈的 USB 电缆(我认为不是铁氧体扼流圈是原因)。