Как «сбросить» плату Arduino? - PullRequest
21 голосов
/ 13 марта 2011

Я загрузил эскиз в Arduino Uno, цикл которого выглядит примерно так:

void loop(){
    Serial.println("Hello World");
}

Итак, теперь я больше ничего не могу загрузить, потому что в среде IDE написано «порт уже используется».

Есть ли способ "перезагрузить" Arduino без другого программиста?

РЕДАКТИРОВАТЬ:
Ничто другое не использует последовательный порт, и все шло отлично, пока я не загрузил предыдущий скетч.

РЕДАКТИРОВАТЬ:
Я нашел несколько интересных вещей:

Ответы [ 20 ]

0 голосов
/ 14 марта 2011

Если у вас по-прежнему открыта последовательная консоль, она зарезервирует последовательный порт. Закройте его и попробуйте снова.

0 голосов
/ 04 марта 2018

Если в порту указано «Уже используется», значит, вы используете неправильный порт. переключите его на порт, где вы подключили свой Arduino и затем попробуйте перезагрузить, вы обязательно увидите, как это работает.

0 голосов
/ 24 марта 2014

Для Arduino Yun пользователей, попробуйте загрузить через Ethernet / WiFi (Инструменты-> Порт). У меня была точно такая же проблема, я попробовал почти все (кроме записи нового загрузчика). Я удивлен, что это сработало, но я загрузил пустой эскиз без проблем.

0 голосов
/ 25 февраля 2013

Вот лучший способ, который работает, если вы пытаетесь программировать через USB-кабель:

  1. Заземлите сигнал Tx на плате (подключите цифровой I / O # 1 к GND)
  2. Подключите USB-кабель
  3. Загрузить новую программу
  4. Отсоедините USB-кабель
  5. Удалить заземление Tx

Все готово!

0 голосов
/ 07 января 2013
  1. Отключите Tx от микроконтроллера
  2. Вставьте USB-кабель
  3. Дождаться полной загрузки
  4. Подключение Rx с аппаратным обеспечением
  5. Скомпилируйте пустой эскиз в прессах и отключите передачу (не беспокойтесь об ошибке)
  6. Подключение Rx с аппаратным обеспечением
  7. Скомпилировать пустой эскиз
  8. Выключите и подключите Tx
0 голосов
/ 22 декабря 2016

1. Прежде всего подключите ваше устройство aurduino. 2. Затем перейдите в диспетчер устройств и удалите драйвер. 3. Теперь удалите ваше устройство Aurduino. 4. Снова подключите устройство aurduino к вашей системе. 5. Теперь установите драйвер (который вы удалили ранее).

Это точно освободит ваш порт.

0 голосов
/ 09 марта 2017

Arduino Leonardo Board

  1. Отключите USB-кабель
  2. Соедините контакт Rx с землей
  3. Подключите USB-кабель
  4. Загрузить новую программу
  5. Отсоедините USB-кабель
  6. Удалить заземление Rx

Это работает для меня, я надеюсь, что и вы тоже.

0 голосов
/ 12 августа 2014

У меня тоже есть ваша проблема, и я решил ее, выполнив следующие действия: (Хотя вы уже можете решить проблему, она будет доступна всем, кто посещает эту страницу)

  1. отключите ваш Arduino
  2. подготовить пустую настройку и программу пустого цикла
  3. написать символ комментария '//' в конце программы
  4. установить указатель на клавиатуре рядом с символом «//»
  5. подключите ваш arduino к компьютеру, подождите, пока arduino полностью загрузится, и он выдаст «Hello World»
  6. Вы увидите, что сценарий вывода «Hello World» будет показан как комментарий, так что вы можете безопасно нажать [upload]. Надеюсь, это поможет.
0 голосов
/ 08 июля 2018

Если ничего не помогло, то вам следует организовать еще одну плату и попробовать прошить ее через Arduino в качестве опции ISP, как показано здесь https://www.arduino.cc/en/Tutorial/ArduinoISP или https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard. вместо загрузчика, вы можете выбрать свои собственные программы дляпрошить через ISP

0 голосов
/ 13 марта 2011

Убедитесь, что вы не получаете доступ к последовательному порту с терминала, этот цикл (или любой другой код) не должен препятствовать программированию Arduino.

...