Связь Arduino прервана, предотвращает загрузку программы (catch 22)
Я написал некоторое программное обеспечение, которое при загрузке на Arduino Micro по какой-то причине блокирует связь. Давайте оговоримся, что с этим что-то не так.
Используя Ardiono IDE в Windows 10 и (через Интернет) дважды нажимая кнопку сброса платы в течение 5 секунд после включения питания, затем (диспетчер устройств) на 2 секунды появляется порт связи, предположительно под управлением программы начальной загрузки микроконтроллера.
В среде IDE вы можете выбрать только существующий порт связи. Как и выше, порт связи появляется на 2 секунды.
Кнопка загрузить вызывает компиляцию и загрузку на порт связи - обычно это занимает 8 секунд.
Таким образом, заменить программу duff можно только путем выбора кратковременно доступного порта связи, компиляции и загрузки на него, что занимает больше времени, чем окно доступности порта.
И поэтому замена кода duff чем-либо невозможна. Я что-то здесь пропустил? Есть ли у кого-нибудь какой-нибудь "аварийный" код, который ожидает появления порта и немедленно загружает что-то безобидное?
Кстати, ограничение тегов не позволяет мне использовать значимые теги.
@NeilS, 👍1
Обсуждение1 ответ
Я бы предложил:
- Включите подробную компиляцию в среде IDE.
- Настройте так, как вы были с выбранным правильным портом, и перейдите к загрузке - она завершится с ошибкой, как обычно
- Найдите команду
avrdude
в подробном выводе и скопируйте полную команду и ее параметры - Откройте командную строку или окно терминала и вставьте скопированную вами команду (но пока не запускайте ее).
- Дважды нажмите кнопку reset, чтобы запустить создание последовательного порта
- Запустите вставленную вами команду. Он должен немедленно начать загрузку и "исправить" вашу проблему.
Спасибо за ваш ответ, как и в моем предыдущем ответе. Запустив новую подробную загрузку, все заработало немедленно, и операции выглядели очень похоже на то, что вы описали выше. Я думаю, что кто-то из Arduino прислал мне это изменение кода, которое было просто работой. Спасибо всем!, @NeilS
- Программирование Arduino Micro через RX/TX
- Отправлять большие объемы данных в PHP-скрипт через GSM-модуль SIM800L.
- Какой модуль Bluetooth можно использовать с Arduino Micro?
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Предупреждение при проверке скетча с кодом VS
- Arduino Uno 3: Застрял на "загрузке..." скетчей
- Основная связь Arduino ModBus RTU с проблемой измерителя мощности
- Последовательная связь между ESP8266 и Arduino Uno
попробуйте это: в настройках включите подробный вывод для загрузки. пока плата пытается выполнить загрузку и не может найти нужный порт, перезагрузите плату. возможно, он вернет порт на тот, который указан в меню Сервис, и начнется загрузка, @Juraj
Это было очень интересно. Я сделал, как вы сказали, это не удалось, но затем в нижней части экрана появилось сообщение с символом бесконечности / диполя Arduino, в котором говорилось "загрузить для использования ...". Я так и сделал, дал ему запуститься, и затем он запустился, найдя новый порт связи, @NeilS