Как выйти из загрузочного цикла?
Примечание. Это справочный вопрос (но не стесняйтесь писать свои ответы!)
Я загрузил код, который содержит ошибку, из-за которой мой Arduino немедленно перезагружается при запуске с помощью этот код из FAQ по AVR libc. Встроенный светодиод продолжает мигать. Поскольку он постоянно перезагружается, я не могу загрузить в него свой скетч.
Я пытался удерживать кнопку сброса во время загрузки и записи нового загрузчика, но ничего из этого не сработало.
Как вывести Arduino из этого цикла загрузки, чтобы снова загружать скетчи?
@glibg10b, 👍4
Обсуждение1 ответ
Лучший ответ:
- Начните удерживать кнопку сброса. Это необходимо для предотвращения входа Arduino в загрузочный цикл.
- Отсоедините Arduino и снова подключите его.
- Откройте новый скетч. Удалите весь код и замените его на
int main(){}
. Это необходимо для создания небольшой программы, которая будет быстро загружаться. - Начните загрузку скетча. Avrdude попытается загрузить скетч десять раз — при каждой попытке светодиод RX на Arduino будет кратковременно мигать.
- Обратите внимание, как часто мигает светодиод (у меня 0,2 Гц). Прежде чем он снова начнет мигать, отпустите кнопку сброса. У avrdude есть небольшая возможность загрузить скетч до того, как запустится Arduino. Если светодиоды TX и RX мигают, успешно!
Поскольку вы не указали, какой Arduino у вас есть, ответили на свой вопрос довольно быстро, и обычно в скетче нет main()
, это выглядит подозрительно., @the busybee
«ответил на свой вопрос за довольно короткое время» StackExchange [поощряет это] (https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/). Это не сайт вопросов и ответов, это ресурс, @glibg10b
«вы не указали, какой у вас Arduino» Это не имеет значения, @glibg10b
"обычно в скетче нет main()" Все скетчи имеют [main()
](https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/main.cpp), просто не вижу. Этот main()
можно переопределить, что и происходит в моем ответе., @glibg10b
"это выглядит подозрительно" Какие подозрительные планы у меня могут быть? Мой ответ никому не причинит вреда, но может помочь некоторым людям. Я не получаю от этого никакой репутации (благодаря вам, я просто потерял ее) — я разместил ее исключительно для того, чтобы помочь другим с той же проблемой., @glibg10b
достойный ответ на плохо написанный вопрос..., @dandavis
Я только что дал тебе репутацию. Не беспокойтесь слишком о репутации. Если вы публикуете хорошие вопросы и ответы, у вас скоро будет столько репутации, что вы не будете знать, что с ней делать. ;), @Nick Gammon
- Arduino Pro Микро кирпичился?
- AsyncWebServer дает сброс wdt
- Сброс Arduino с помощью ПО (каждый день)
- Программный сброс AVR без ватчдога
- Переход к загрузчику из кода приложения в atmega328p
- Восстановление Nano 33 IoT Nano 33 из мертвых: нет USB. Нет режима загрузки
- Трассировка стека сброса ESP12E Soft WDT ведет к библиотекам
- Справка по двойному сбросу Pro Micro; Не удалось загрузить за 8 секунд
Если вы планируете отвечать на свои собственные вопросы, что является отличной идеей, полезно отметить, что это «справочный вопрос». То есть вы публикуете, чтобы помочь другим людям, а не обязательно искать ответы. Я проделывал это несколько раз, пока люди не подтолкнули меня к этому. :), @Nick Gammon
Спасибо, что предоставили эти вопросы + ответы сообществу., @Nick Gammon
Спасибо за совет @Nick, я добавил примечание ко всем своим вопросам :), @glibg10b