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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-05 06:21:51  来源:igfitidea点击:

Arduino upload error "stk500_recv(): programmer is not responding" in Fedora

linuxidearduino

提问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:

要重新创建问题:

  1. Plug in the Arduino Uno board via USB cable
  2. Open the Arduino IDE
  3. Menu FileExamples1. BasicsBlink
  4. Menu ToolsSerial Port→ then check the box for /dev/ttyACM0
  5. Menu ToolsBoardArduino Uno
  6. Click the "Play" button to Verify/Compile (this step is successful)
  7. Click the Uploadbutton, to get the error
  1. 通过 USB 电缆插入 Arduino Uno 板
  2. 打开 Arduino IDE
  3. 菜单文件示例1. 基础知识闪烁
  4. 菜单工具串行端口→ 然后选中/dev/ttyACM0的框
  5. 菜单工具→ 开发Arduino Uno
  6. 点击“Play”按钮验证/编译(此步骤成功)
  7. 单击上传按钮,获取错误

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 yumand adding my user ID to the groups uucp, lockand dialout.

我按照Arduino Playground 说明,使用yum我的用户 ID安装客户端并将我的用户 ID 添加到组uucplockdialout

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

This sounds like it was probably caused by a bugthat was present in AVRDUDEat the time. A simple yum update AVRDUDEshould now fix it.

这听起来很可能是由当时AVRDUDE中存在的错误引起的。一个简单的现在应该修复它。yum update AVRDUDE

回答by user1932106

Before uploading your programme, make sure you selected the right board type, from menu ToolsBoard.

在上传您的程序之前,请确保您从菜单ToolsBoard 中选择了正确的电路板类型。

回答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 ToolsSerial 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 ToolsSerial 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 ToolsProgrammerArduino 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 be

    USB\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 check COM3is 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 电缆(我认为不是铁氧体扼流圈是原因)。

回答by Shannon

In my case, go to menu ToolsProcessorand change to ATMega328P (Old Bootloader). Then the problem is solved.

就我而言,转到菜单工具处理器并更改为 ATMega328P(旧引导加载程序)。那么问题就解决了。

But make sure that you do the chmodbefore upload:

但请确保在上传之前执行chmod

sudo chmod a+rw /dev/ttyUSB0