Arduino upload error “stk500_recv(): programmer is

2019-06-15 11:07发布

问题:

I am attempting to upload the stock Blink sketch using the Arduino IDE in Fedora Core 15 Linux. The error I get is:

avrdude: stk500_recv(): programmer is not responding

To recreate the issue:

  1. Plug in the Arduino Uno board via USB cable
  2. Open the Arduino IDE
  3. File -> Examples -> 1. Basics -> Blink
  4. Tools -> Serial Port -> then check the box for /dev/ttyACM0
  5. Tools -> Board -> Arduino Uno
  6. Click the "Play" button to Verify/Compile (this step is successful)
  7. Click the Upload button, to get the error

I tried these same exact steps in Windows XP, and the upload was successful, so I must not have Fedora configured correctly.

I followed the Arduino Playground instructions, installing the client using yum and adding my user ID to the groups uucp, lock and dialout. I did not follow the RXTX fixup -- Link the proper files part of the guide, since the given command did not return any matches: find ~ -name librxtxSerial.so -o -name RXTXcomm.jar | grep -v Download

回答1:

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.



回答2:

Before upload your programme, make sure you selected the right board type, from menu Tools -> Board.



回答3:

This sounds like it was probably caused by a bug that was present in avrdude at the time. A simple yum update avrdude should now fix it.



回答4:

Arduino UNO R3, Mac OS X 10.8.3, any version of Arduino.app. For me changing USB cable fix this error.



回答5:

This is an old question but I did find a new solution which I believe is worth sharing.

I believe the instruction on http://arduino.cc/en/Guide/Troubleshooting#upload that says

On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0

does not always apply. In my Ubuntu 14.10 I can see that port in Tools -> Serial Port but when selected and trying to upload to the Arduino Nano V3 I get the error

stk500_recv(): programmer is not responding

Changing the Tools -> Serial Port to /dev/ttyUSB0 solves the problem.

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, don't know haven't tested. But whatever is the cause the good news is that the problem can be solved.

You can easily check what is the correct Serial Port by first checking what ports are availabe without plugging the Arduino (Tools -> Serial Port) and then checking again what is the added port after plugging the Arduino in the USB port.



回答6:

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



回答7:

After hours of searching problem has been solved: Choose Tools -> Programmer -> Arduino as ISP



回答8:

For me, changing the cable worked.

I was using Ubuntu 17.04, Arduino Nano w/ATMega28 and a USB cable with ferrite choke (dont think ferrite choke was the cause).



回答9:

In my case, Go to Tools > Processor > change to ATMega328P(Old Bootloader) then the problem is solved.

But make sure that you do the chmod before upload. sudo chmod a+rw /dev/ttyUSB0



回答10:

The fix that worked for me:

If you have a USBasp programmer (or other type of ICSP programmer) plugged into your Arduino board (but not plugged into your PC), because you just used it to flash the bootloader of your Arduino board, unplug it from the Arduino. Disconnecting the 5V line between the USBasp programmer and the Arduino was enough for me. Now uploading works (with the USBasp programmer lying on the bench with all but the 5V pin still connected to the Arduino).



回答11:

For Windows, I tried doing this

  • In powershell, run devcon status usb*. This should show multiple devices similar, one among which would be USB\VID_2341&PID_8036&MI_00\6&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 manager menu of windows.

  • Restart machine and Arduino IDE and try uploading again.