Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding

У меня есть Arduino Nano (Sainsmart), на который я пытаюсь загрузить скетч. В среде Arduino IDE выбрано устройство Arduino Nano с ATmega328.

Однако при загрузке скетча возникает ошибка

avrdude: stk500_recv(): programmer is not responding

Я пробовал использовать оба USB-порта (/dev/tty.usbserial и /dev/cu.usbserial), но та же ошибка сохраняется. Arduino подключен к Macbook Air через USB-кабель, и светодиодный индикатор PWR на Arduino горит, а светодиодный индикатор L мигает. С загрузкой на Arduino Uno проблем не возникло.

Повторная попытка после установки последних версий драйверов FTDI (MAC OSX, x64, v2.2.18, FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg) с http:/ /www.ftdichip.com/Drivers/VCP.htm. Однако это не помогло.

Что могло пойти не так?

, 👍40


12 ответов


Лучший ответ:

6

Это сообщение об ошибке обычно появляется при любой проблеме со связью, поэтому само по себе оно не очень информативно. У Arduino Nano должен быть автоматический сброс, но, может быть, у вашего клона его нет? В этом случае вам нужно будет нажать кнопку сброса на плате непосредственно перед началом загрузки.

,

Согласно описанию устройства Особенности: Автоматический сброс во время программы..., @alexan_e

Да, но, судя по комментариям на странице Amazon, некоторые люди, купившие это, получили еще один клон марки, поэтому мне кажется, что здоровая доза скептицизма в отношении любых заявлений в документации уместна, особенно если их легко можно проверено экспериментом., @microtherion

Я не читал комментарии, но в этом случае вы можете быть правы., @alexan_e

В то время как сброс в *только* нужное время может сработать (это может занять несколько попыток), с клонами Nano почти всегда проблема возникает из-за изменения последовательной скорости загрузчика официальными разработчиками Arduino.cc. Этот ответ с большей вероятностью даст надежный результат: Инструменты → Процессор → *ATmega328P (старый загрузчик)*, @scruss


3

Вы не забыли сообщить IDE, что тип платы — Nano?

Инструменты -> Board => Ардуино Нано...

Это раздражает меня каждый раз, когда я переключаюсь между Nano и Uno.

,

2

У меня также было это сообщение об ошибке. Я думаю, что возможных причин может быть много, поэтому я спешу указать свой частный случай.

У меня есть хакинтош с OS X Yosemite 10.10.2, программным обеспечением Arduino 1.0.6 и Funduino UNO. Загрузка примера для Serial.write() прошла успешно с первого раза. После этого большинство загрузок не удалось. Даже если загрузка прошла успешно, последовательный монитор не всегда будет отображать выходные данные.

Мне показалось, что это произошло из-за неправильного подключения к USB-порту. Мне приходилось неоднократно сбрасывать funduino, отключать и снова подключать USB-кабель или даже перезагружать систему. Иногда при повторном подключении USB-кабеля моя система зависала.

Погуглив, я нашел решение проблемы «При подключении USB-устройства Mavericks 10.9.1 зависает». Ответ № 12 на tonymacx86.com в основном указывает вам удалить GenericUSBXHCI.kext из /System/Library/Extensions.

Я рад сообщить, что после удаления этого kext у меня не возникло проблем с загрузкой примера и мониторингом вывода. Поскольку мне не нужно повторно подключать USB-кабель, я не знаю, решит ли это зависание моей системы. Я даже не уверен, что это было зависание системы, потому что моя система могла просто перестать реагировать на мою USB-клавиатуру и мышь.

,

5

Похожая проблема с моим Sainsmart Nano.

В разделе Настройки установите флажок "Показывать подробный вывод во время [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


6

У меня возникла та же проблема, и я получил такое же сообщение об ошибке. Оказывается, эти платы не поставляются с предустановленным загрузчиком. Если у вас есть перемычки и другой рабочий Arduino, вы можете использовать этот учебник по установке загрузчика, и он должен отлично работать, по крайней мере у меня получилось! :)

,

2

Была та же проблема, и решение было следующим:

  • идентифицировал мою Arduino как CH340/ATmega168P (написано на печатной плате)
  • зашел в IDE и выбрал из списка не UNO, а "Arduino Pro или Pro Mini"
  • когда выбран этот параметр, в новом меню доступен выбор «Процессор» (прямо в разделе «Выбор платы»)
  • выбрал там мой процессор ATmega168P, и загрузка прошла как по маслу!
,

Выбор платы не зависит от чипа интерфейса USB, только от процессора и скорости передачи данных., @Chris Stratton


1

Версия 1.8.5 Arduino IDE выдавала одну и ту же ошибку каждый раз, когда я пытался подключить ее к моему OSEPP Nano. Я пробовал с несколькими нано-платами с разными версиями IDE. У меня была установлена плата «Arduino Nano».

Решение было следующим: Вместо Nano выберите Arduino/Genuino Uno. Мне это помогло.

,

0

Если это не сработает, вам придется использовать spi для программирования nano. Вам нужно будет найти соединение и использовать uno, так как он имеет последовательный чип at16u2 с драйвером, который распознает все продукты Atmel. После подключения установите uno как программатор, прошив uno как isp, установите программатор как Arduino как isp и прошейте чип. Двойная проверка. Преимущество заключается в том, что он менее подвержен ошибкам, чем uart, и имеет лучшее время, но его сложно подключить. Удачи

,

78

Знаю, что это старое, но я наткнулся на него во время поиска Nano (V3), который не загружается, поэтому подумал, что может помочь кому-то еще. Проблема в загрузчике - Arduino IDE, НО я нашел простое решение (прямо у меня под носом).

Я понял, что мои нано загружаются нормально, после чего я, наконец, обновил платы Arduino AVR с 1.6.20 до 1.6.21. Я не думал, что есть какие-то проблемы, потому что после замены он по-прежнему показывал мои Nano, ATmega328 и т. д. в диспетчере плат.

Но у менеджера новых плат есть выбор нового процессора ATmega328 для Nano. Я сменил процессор: в Arduino IDE выберите ИНСТРУМЕНТЫ > ПРОЦЕССОР > в раскрывающемся меню с ATmega328P на "ATmega328P (старый загрузчик)".

С тех пор я без проблем загрузил множество программ в несколько разных Nano V3 (набор микросхем Prolofic interace).

,

@sa_leinad - пожалуйста, не меняйте смысл чужих сообщений. Плакат сказал, что они обновили пакет плат AVR, а не IDE. Об этом конкретном разрыве версии сообщалось в другом месте., @Chris Stratton

Это помогло решить проблему для меня, хотя!, @Ewout

Решение все еще работает, я тестировал его на Arduino IDE 1.8.7 Stable, 1.8.8 Hourly Build (Nightly) 2018/11/05 23:59 GMT и 1.9 Beta Build-87 с платами Arduino AVR 1.6.23., @Unknown123

Изменения в загрузчиках были обнародованы с выпуском Arduino IDE 1.8.6: https://github.com/arduino/Arduino/releases/tag/1.8.6 Дополнительная информация в https://arduino.stackexchange.com/questions /51866/arduino-nano-atmega328p-bootloader-difference Для обновления загрузчика требуется интернет-провайдер (или другой Arduino) : https://arduinoprosto.ru/q/66806/can-the-arduino-nano-bootloader- быть-обновленным-через-себя-и-arduino-ide-or-i, @handle

Спасибо, переключение на ATmega328P (старый загрузчик) помогло мне решить проблему stk500_recv(): программатор не отвечает stk500_getsync() попытка 1 из 10: не синхронизировано: resp=0x79. На самом деле, у меня есть ощущение, что раньше я использовал более старую версию графического интерфейса, в которой эта опция была по умолчанию., @dma_k

+1 у меня сработало, @dustytrash

3 года спустя, и это решение все еще хорошо. Спасибо!, @Johnny Rollerfeet


0

Эта проблема возникла у меня, когда я обновил Arduino IDE. Я решил это, поменяв процессор на "старый"

Инструменты->Процессор->"ATmega328P (старый загрузчик)" спасибо!!!!

,

Это просто дубликат ранее опубликованного ответа, @Chris Stratton


4

Недавно у меня возникла такая же проблема с тремя платами Nano, которые я только что купил. Я могу подтвердить, что предложенное исправление (изменение на «старый загрузчик») решило мою проблему.

Я думаю, что основная проблема заключается в скорости загрузки. Версия «старого загрузчика» успешно загружается на 57600, но «новая» версия по умолчанию пытается загрузить на 115200 и терпит неудачу.

,

Да, это была и моя проблема. Нашел объяснение здесь https://arduinoprosto.ru/q/51874/47260, @Arindam

Это просто дубликат ранее опубликованного ответа., @Chris Stratton


0

Хорошо. У меня была такая же ошибка программист не отвечает на Arduino Nano на Atmel MEGA168PA, чип USB: CH340G. Macbook Pro под macOS 10.14.2.

Установлен пример Blink, но порт не отображается в списке.

Я пытался выяснить, что не так, и подключил Arduino Due через порт программирования. После 2-х попыток скетч загрузился... Потом подключил обратно Nano, на этот раз порт был виден (на самом деле их два: /dev/cu.wchusbserial14120 и /dev/cu .usbserial-14120) и знаете что, загрузка прошла успешно!

Магия!

,