Восстановление Arduino со сломанным Setup()
Возможно, я заблокировал свой Arduino Pro Micro, написав неработающий код в функцию setup(). Когда я подключаю Pro Micro к компьютеру, я вижу, что он на короткое время регистрирует COM-порт, прежде чем он исчезает. Заземление и отключение контакта RST приводит к тому, что устройство на короткое время снова появляется на моей панели управления. Попытка загрузить пример блинка из Arduino IDE не удалась, поскольку COM-порт исчезает до завершения процесса.
Есть ли альтернативный способ прошивки кода на Arduino, который я мог бы использовать, чтобы исправить это? У меня есть рабочий Pro Nano, которым я могу воспользоваться при необходимости.
@Bo Thompson, 👍0
Обсуждение2 ответа
Лучший ответ:
По предложению Маженко я попробовал изучить USB ASP, а затем исследовал, можно ли использовать Arduino в качестве ASP. Вроде, как бы, что-то вроде. Я не уверен, что ASP — это то же самое, что и ISP, но я использовал Arduino Nano в качестве ISP для программирования Arduino Pro Micro.
Для этого я открыл пример скетча ArduinoISP и записал его на Nano (через USB). Затем я подключил его к макетной плате вместе с Pro Micro. Подключил следующие контакты:
nano pin micro pin
13 15 (SCK)
12 14 (MISO)
11 16 (MOSI)
10 RST
5v 5v
GND GND
Важно подключить конденсатор от Nano RST к GND. Мне сказали использовать конденсатор емкостью 10 мкФ, но у меня под рукой был конденсатор емкостью 1 мкФ, который работал нормально. Затем я открыл пример скетча Blink, настроил Arduino IDE для программирования Pro Micro и установил для программатора режим «Arduino как ISP». Удерживайте Shift, нажмите «Загрузить», проблема решена. В Pro Micro работает Blink, и теперь я могу распознать его и запрограммировать через USB.
Поэтому я согласен с Маженко; кто-то, столкнувшийся с этой проблемой, должен купить программатор. Но только если у вас нет запасного Arduino ;)
ASP в [USBasp](https://www.fischl.de/usbasp/) — это всего лишь часть имени. Вероятно, это означает что-то вроде USB Atmel/AVR Serial Programmer. Он по-прежнему использует протокол ISP., @Gerben
Стоит отметить, что мой программатор Arduino-Arduino начал меня подводить. Я не знаю точно почему, но я больше не могу это осуществить. Требуются дополнительные исследования. Я покупаю USBasp, чтобы посмотреть, что смогу спасти., @Bo Thompson
Вы можете попробовать запустить команду загрузки кода напрямую, используя предварительно скомпилированный шестнадцатеричный файл.
Вот как.
Перейти к настройкам в Arduino IDE
Установите параметр Показывать подробный вывод во время загрузки
.
Загрузите
скетч мигания. (arduino не обязательно подключать)
После компиляции проверьте окно журнала в нижней части IDE.
Вы найдете такую строку:
E:\arduino\hardware\tools\avr/bin/avrdude -CE:\arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\xxxxxxx\AppData\Local\Temp\build918c1e88f8d0a4c453f8bdfce4cccd30.tmp/Blink.ino.hex:i
Это настоящая команда загрузки кода.
Скопируйте командную строку и вставьте ее в окно CMD Windows.
Отредактируйте COM-порт в соответствии с вашим Arduino.
Перезагрузите Arduino и сразу нажмите Enter
, чтобы запустить командную строку.
Возможно, вам повезет, и загрузка «проскочит».
Вы также можете переместить шестнадцатеричный файл в другую папку, чтобы он всегда был доступен для быстрого восстановления.
Вы также можете создать файл BAT, чтобы двойной щелчок по значку запускал загрузку.
- Esp8266 Vin контакт
- Использовать Arduino Nano V3 для программирования другого Arduino (Pro Mini)?
- Самый быстрый способ считывания состояния цифрового контакта в Arduino Due
- Как добраться до контакта PS_ON на RAMPS1.4, установленном на Mega
- Декодирование порта VGA с помощью Arduino
- Как настроить вход АЦП Arduino на A0 вместо использования по умолчанию?
- Случайный сброс Arduino Nano
- Программирование Bare Metal Due
Попробуйте заземлить RST дважды подряд., @Majenko
При работе с любым микроконтроллером полезно всегда иметь под рукой программатор для аппаратного обеспечения. Загрузчики — это очень хорошо, но если они идут не так, как надо, вы застреваете. Приобретите на eBay USB-ASP (~ 2 доллара из Китая — адаптер приобретите вместе с ним)., @Majenko