Arduino Nano не отвечает, желтый светодиод быстро мигает
Обновление: я начал играть с настоящим Deumilanove, и с ним случилась точно такая же проблема - светодиод d13 мигал, но avrdude говорит, что stk500_recv(): программист не отвечает
Я загрузил большой эскиз размером ~15 КБ в Arduino Nano v3.0 (клон), в результате чего плата оказалась в непригодном для использования состоянии. При подключении к USB сразу загорается светодиод питания, а через 1-2 секунды начинает очень быстро мигать желтая буква «L». Вот доска, которую я использую, это дешевый клон, но до сегодняшнего дня она работала очень хорошо.
Теперь, когда я пытаюсь загрузить новый эскиз, я получаю сообщение об ошибке:
avrdude: stk500_recv(): programmer is not responding
Я попробовал сделать программатор ISP из оригинального Duemilanove, используя контакты ISP Nano, и попробовал следовать
href="http://arduino.cc/en/Tutorial/ArduinoISP">официальные инструкции (конденсаторы/резисторы не использовались). В любом случае, когда я нажимаю «Записать загрузчик», возникает одна и та же ошибка:
avrdude: stk500_getsync(): not in sync: resp=0x15
Я подключил светодиоды «отладки» к D7,8,9, и в режиме ожидания пульс затухает, а другие остаются темными. Когда я нажимаю «Записать загрузчик», все светодиоды гаснут, затем он несколько раз быстро мигает на 7, затем аналогичная картина для 8, а затем возобновляется пульс. Иногда эта последовательность повторяется дважды.
Я также пытался отредактировать файл settings.txt, чтобы обойти загрузчик, но это не помогло.
Как мне восстановить эту доску или выполнить сброс низкого уровня? Кажется, он находится в каком-то режиме отказа, колеблется контакт 13, но я не знаю, что это значит.
@Paul, 👍10
Обсуждение4 ответа
Лучший ответ:
Я успешно восстановил обе платы с помощью кнопки сброса:
- Выключите плату (я отключил USB-кабель от компьютера)
- Нажмите и удерживайте кнопку сброса
- Подключите USB-кабель (продолжайте удерживать кнопку сброса)
- Нажмите «Загрузить эскиз»
- Подождите секунду или две, пока программное обеспечение Arduino не сообщит «Загрузка...» в строке состояния
- Отпустите кнопку сброса
Используйте эти шаги для загрузки любого небольшого эскиза. Пример Blink — хороший выбор.
Меня заблокировали на этом форуме на 2 дня, вы только что спасли мою доску!, @Julien L
В оригинальном старом загрузчике Arduino есть ошибка, связанная со сторожевым таймером. Вы можете переключиться на другой загрузчик, например «Optiboot».
Описание проблемы из Техническое описание ATmega48A/PA/88A/PA/168A/PA/328/P, раздел 10.10.5 Сторожевой таймер, страница 48:
Если сторожевой таймер случайно включен, например, из-за выхода указателя из-под контроля или отключения питания, устройство будет сброшено, а сторожевой таймер останется включенным. Если код не настроен для работы со Watchdog, это может привести к вечному циклу сброса тайм-аута. Чтобы избежать этой ситуации, прикладное программное обеспечение должно всегда очищайте флаг сброса системы сторожевого таймера (WDRF) и бит управления WDE в процедуре инициализации, даже если Watchdog не используется.
Сброс с помощью кнопки не помогает, только сброс/включение питания позволяет устройству снова загрузиться (и прошить новое программное обеспечение) . Объяснение этого из 11.9.1 MCUSR – Регистр состояния MCU, стр. 54:
Бит 3 — WDRF: Флаг сброса сторожевой системы Этот бит устанавливается, если происходит сброс системы сторожевого таймера. Бит сбрасывается сбросом при включении питания или записью логической схемы. ноль для флага.
Используйте «upload.verbose=true» в файле preferences.txt среды разработки Arduino (Файл->Настройки-> Щелкните по файлу), это поможет вам найти подходящий момент для отпускания кнопки сброса (Шаг 5 метода Пола).
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
.
.
Using Port : COM19
Using Programmer : arduino
Overriding Baud Rate : 57600
release here ^^^^
Попробуйте изменить тип процессора на ATmega328 (старый загрузчик) в Tools->Processor. Моя плата Nano мигала светодиодом, как будто у нее был загрузчик, но я не мог загрузить скетч, и это помогло.
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
- Запись загрузчика завершается словами "avrdude done. Thank you.". но загрузчик на самом деле не прошивался
- Не удается заставить "Burn Bootloader" работать - Arduino Nano
- Проблемы с загрузкой с новым Nano
- Разница в загрузчике между Atmel328p (сквозное отверстие) и Atmel328p au (smd)
- Расширить пространство программы, избавившись от загрузчика на NANO
- Как компилятор/ассемблер работает с загрузчиком?
- Путаница по поводу: установки загрузчика на новый Nano v3.0 (классический)
Ааа, я вроде как помню, что удерживание кнопки сброса во время загрузки может разблокировать Arduino настолько, чтобы загрузить ее, но я не могу вспомнить, когда отпустить кнопку (или мне это просто кажется) ... вы уверены, что у вас есть правильный COM порт выставил и всё в IDE?, @Anonymous Penguin
Да, почти уверен, что порты правильные, потому что плата программатора по-разному мигает светодиодами, когда программное обеспечение пытается связаться с nano., @Paul
В официальных инструкциях конденсаторы не упоминаются (если только вы не используете голый чип). Можешь показать фото как ты его подключил?, @Gerben
При использовании Uno предлагается конденсатор емкостью 10 мкФ. В любом случае мне удалось восстановить платы с помощью кнопки Reset, см. мой ответ ниже. После этого я разобрал провода, поэтому на этот раз фотографий нет. Подключение было очень простым, я мог бы попробовать еще раз, как только найду новый загрузчик., @Paul
У меня та же проблема, китайская Arduino 3.0 с USB-контроллером CH340, я думал, что проблема в сбое CH340, в мое время этот Arduino такой дешевый, я решаю эту проблему, заменив всю плату, но чтобы узнать, в чем причина сбоя Я буду тестировать замену чипа CH340 на этой плате., @Pedro Alvarez