вторник, 10 декабря 2013 г.

Arduino: боремся с "avrdude: stk500_recv(): programmer is not responding"

Собрали новый проект.
Написали скетч.
Прошиваем....
Ооопс!
avrdude: stk500_recv(): programmer is not responding
"Но ведь вчера же все работало!"(с)

Не беда, советов по устранению на форумах много:

  1. В Arduino IDE не правильно указан порт к которому в системе подключено устройство. Перепроверяем.
  2. В Arduino IDE не правильно указана модель нашей железки. Перепроверяем.
  3. Проблема с кабелем. Заменяем
  4. Еще есть проблемы со скоростью порта и прочими разными, это все расписано...
Но... есть еще один вариант, про который нигде не написано... 
Если до этого arduino использовалась в других проектах и в нее уже прошит другой скетч... В новой схеме она может просто замыкаться уже назначенными на другое дело пинами =) 

Поэтому, для начала, просто попробуйте ее прошить, выдернув из макетки.. Если до этого она где-то использовалась и все работало - скорее всего поможет.
Проверено на собственной глупости =)

UPD: По просьбам из комментариев еще один частый вариант: помимо правильно указанной платы в Arduino IDE нужно проверить правильность указания процессора (просто ATmega или Old Bootloader)
Спасибо за комментарии и активность в теме =)

27 комментариев:

  1. Анонимный26 июля 2015 г., 13:58

    Помогло. Только вот тем же скетчем она уже потом не перешивается - в том смысле, что плату каждый раз надо выдёргивать из макетки. В Uno стоит gsm-шилд - видимо, он перекрывает - придётся программировать "вслепую" и стараться сделать с первого раза :)

    ОтветитьУдалить
  2. Вот моя ситуация с подобной проблемой. Есть ардуина, есть точно такой же микроконтроллер. Меняю на плате "родной" на "брата-близнеца" - и выскакивает та самая ошибка. что можно попробовать сделать в такой ситуации? зависит ли это от прошивки МК "с завода" и есть ли способ как-то исправить?

    Если чуточку подробнее про мою ситуацию: в плату Arduino Uno вставляю ATMega328p - загорается диод L и горит постоянно. При попытке залить туда бутлоадер через Arduino 1.6.6 наступает пауза пару секунд, далее следует три коротких (тусклых) импульса RX - а пару минут спустя компьютер сообщает, что "stk500recv programmer not responding". при обратной замене на родной МК всё работает как ни в чём не бывало - скетчи льются, бутлоадеры грузятся, даже диоды TX и RX мигают неожиданно ярко... в какую сторону смотреть дальше?

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

      Удалить
    2. Что такое бутлоадер, и что такое МК?

      Удалить
    3. У меня такая же проблема!

      Удалить
    4. Random, мк - микроконтроллер, бутлоадер - загрузчик. как его залить в чистую мк посмотрите подробнее здесь - http://freeduino.ru/arduino/isp.html
      все вроде по полочкам.

      Удалить
  3. Поменял атмега 328 на 168, залил успешно. Благодарю.

    ОтветитьУдалить
  4. не разбираюсь в сленге)
    что значит "выдернув из макетки"
    как это сделать?)

    ОтветитьУдалить
    Ответы
    1. Макетка - макетная плата. Имеется ввиду что если у Вас что-то подключено к ардуине, то это нужно отключить.

      Удалить
  5. мужик спасибо!!!!! просто от души ваще))))))

    ОтветитьУдалить
  6. Я поменял в строке процессор на nano 328р(old bootloader) IDE 1.8.8.

    ОтветитьУдалить
  7. в общем, проблема такая, есть ардуино нано, с самого первого включения (через несколько секунд после подключения питания) светодиод L на плате начинает моргать раз в секунду. Не прошивается, постоянно вылезает эта ошибка. Порты в порядке, плата указана правильно, процессор тоже, кабели уже 3 сменил (какой-то неизвестного происхождения, от плеера и от картридера, со всеми такая ошибка), к макетке не подключена, просто чистая ардуинка. Хееееелп

    ОтветитьУдалить
    Ответы
    1. А все, сделал. Нужно было в процессоре выбрать Old Bootloader

      Удалить
  8. +1 про old bootloader. Добавьте в шапку!!!

    ОтветитьУдалить
  9. спасибо ребят
    старый bootloader

    ОтветитьУдалить
  10. Та же проблема была. У меня Nano китайская - купил в ЧипДип. Пришлось поставить другой драйвер, т.к. китайцы для экономии ставят другую микросхему USB-serial. Потом была вот эта ошибка: десять попыток загрузки и: programmer is not responding. Поменял на Old Bootloader и все заработало.

    ОтветитьУдалить
  11. Спасибо за решение. Та же проблема была. После первой прошивки NANO, второй раз перепрошиваться не хотела. Теперь все работает как надо.

    ОтветитьУдалить
  12. оказывается висела на другом порте в виду чего и не заливался скетч. Долгих лет жизни, анон ~

    ОтветитьУдалить
  13. Спасибо!!!! Действительно все заработало когда прошил без макетной платы!

    ОтветитьУдалить