Подтвердить что ты не робот

Как "reset" доска Arduino?

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

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

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

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

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

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

4b9b3361

Ответ 1

Попробуйте следующее:

  • Подготовьте базовую пустую программу (пустая настройка, цикл и т.д.).
  • Скомпилируйте его.
  • Reset Arduino, используя аппаратную кнопку на чипе
  • Нажмите Ctrl + U, чтобы загрузить код.
  • Если не удалось - добрался до 3.

Задержка перед запуском загрузчика запускается, просто работайте с вашим временем. Это работало для меня, когда ошибка в коде Arduino выполняла мягкий reset каждые 500 мск.

Ответ 2

У меня была та же проблема на двух Arduinos (одна Uno и одна плата для модного устройства Freeduino/USB Host), а окно между reset и началом использования последовательного порта было настолько маленьким, что загрузить было невозможно.

Я, наконец, исправил эту проблему, купив другой Arduino Uno и построив кабель ISP за эти инструкции и используя его для запуска приложения Bare Bones из примеров в каждую недоступную доску, используя Arduino IDE версии 0023, следуя этим инструкциям для изменения preferences.txt. (Обязательно сохраните исходный файл перед его редактированием, чтобы его можно было заменить после того, как вы спасли Arduino.)

Для каждой платы потребовалась быстрая загрузка. Такое быстрое исправление после стольких горя. Возможно, вы не захотите приобрести еще один Arduino, но рассмотрите эти преимущества:

  • Вы можете перезаписать загрузчик на Arduino, чтобы получить больше места.
  • После перезагрузки загрузчика плата будет загружаться быстрее.
  • Предположительно вы можете запрограммировать необработанные AVR для специальных проектов, но я не пробовал это: Google для ArduinoISP
  • Он быстро исправит Arduinos, который вы заблокируете в будущем.
  • Теперь вы можете спокойно экспериментировать, чтобы найти способы предотвращения использования последовательного порта для блокировки устройства в будущем.

Ответ 3

Основываясь на моем опыте с уже используемым или заблокированным сообщением, я бы сказал, что программа, с которой вы взаимодействуете, по-прежнему открыта для общения. Я также обнаружил, что если вы отсоедините USB-кабель, он отключит связь. Это не самое лучшее решение, но оно решает проблему. Надеюсь, что это поможет.

Ответ 4

Убедитесь, что вы подключаете arduino прямо на компьютер, а не через концентратор. Использование хаба даст вам эту ошибку.

Ответ 5

Я только что потратил последние 5 часов на поиск решения этой проблемы (серийный порт COM3 уже используется, серо-серый серийный порт)... Я пробовал все, что мог найти наш форум, в том числе этот...

Что, наконец, исправило его (избавился от последнего кода, который я бы ввел, который застрял и загрузил простую функцию blink)? Следуйте по этой ссылке - http://arduino.cc/en/guide/windows и следуйте инструкциям для УСТАНОВКИ ДРАЙВЕРОВ. Мой драйвер был "уже обновлен", но после этих шагов исправлен сбой. Я снова счастливый турист.

Примечание. Сброс платы вручную с помощью кнопки на чипе или в цифровом виде через разное. коды в Интернете не помогли устранить эту проблему, потому что сигнал был каким-то образом заблокирован/запутан между моим arduino uno и портом в моем ноутбуке. Обновление драйверов похоже на reset для проблемы с "серийным портом, уже используемым".

По крайней мере, до сих пор..

Ответ 6

После расчесывания головы об этой проблеме, здесь очень простое решение, которое работает в любое время:

  • Отсоедините кабель USB
  • Зайдите в свой МЕНЕДЖЕР УСТРОЙСТВА
  • Нажмите "Порты" (COM и LPT).
  • Щелкните правой кнопкой мыши на Arduino.... (COMx)
  • Свойства
  • Настройки порта
  • Поместите управление потоком в HARDWARE
  • Создайте пустой эскиз (* Необязательно)
  • Подключите USB-кабель
  • Загрузить (Ctrl-U)

// Emtpy Sketch to fix upload problem
// Create by Eric Phenix
// Nov 2014

void setup() 
{ 
} 

// the loop routine runs over and over again forever:
void loop()
{ 
delay(1000);                            
}

Эт вуаля! Эрик

Ответ 7

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

Ответ 8

Если вы все еще открываете последовательную консоль, он резервирует последовательный порт. Закройте его и повторите попытку.

Ответ 9

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

Ответ 10

У меня возникла аналогичная проблема.

Если я power on myarduino Задержка перед загрузкой программы.

Поэтому я использую эту задержку для загрузки новой программы или пустой программы:

void setup(){} void loop(){}

поэтому моя проблема решена.

Отключите все подключения к разъемам arduino перед загрузкой.

Ответ 11

Вот что я сделал в Linux, чтобы иметь возможность запрограммировать мой Arduino Micro, который застрял в цикле, отправив 0-й ключ при подключении через USB;

# while true; do xinput float $(xinput --list | grep -i Arduino | awk '{print $7}' | cut -d'=' -f 2); done

Ваш результат может немного отличаться, поэтому просто попробуйте запустить

# watch xinput --list

затем подключите Arduino и посмотрите, как отформатирован вывод.

Это остановило X от принятия нажатия клавиш и разрешило программе IDE Arduino наконец-то!

Ответ 12

У меня тоже была эта проблема, я пробовал эти методы, и ни один из них не работал, однако что-то работало (как-то, не уверен, что это просто уродная штука, или это на самом деле способ сделать это)

  • Отсоедините USB от duino
  • Нажмите и удерживайте кнопку reset
  • Подключите USB и включите питание.
  • Продолжайте удерживать и загружать эскиз. После того, как вы сделаете загрузку, отпустите кнопку reset.

Ответ 13

У меня была такая же проблема сегодня. Вот простое решение, которое мы нашли для решения этой проблемы (спасибо Anghiara):

Вместо того, чтобы загружать новые коды в arduino, используя кнопку "Загрузить" (круг с зеленой стрелкой) на вашем экране, используйте мышь, чтобы щелкнуть "Эскиз", а затем "Загрузить".

Не забудьте добавить строку delay() к вашим кодам при работе с serial.println() и циклами. Я усердно изучил мой урок.

Ответ 14

Совет Ардуино Леонардо

  • Отключите USB-кабель
  • Подключите Rx Pin с землей
  • Подключите кабель USB
  • Загрузить новую программу
  • Извлеките USB-кабель
  • Удалить заземление Rx

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

Ответ 15

  • Отключите Tx от микроконтроллера
  • Вставьте USB-кабель
  • Дождитесь полной загрузки
  • Соединение Rx с оборудованием
  • Скомпилируйте пустой эскиз в аргументах и ​​отключите tx (не беспокойтесь об ошибке)
  • Соединение Rx с оборудованием
  • Скомпилировать пустой эскиз
  • Отключите питание и подключите Tx

Ответ 16

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

  • отключите ваш arduino
  • подготовить пустую установку и программу с пустым циклом
  • напишите символ комментария////в конце программы
  • установите указатель на клавиатуру рядом с символом "//"
  • подключите ваш arduino к компьютеру, подождите, пока arduino будет полностью загружен, и он выведет "Hello World"
  • Вы увидите, что вывод "Hello World" script будет отображаться как комментарий, поэтому вы можете безопасно нажать [upload]. Надеюсь, что это поможет.

Ответ 17

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

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

Ответ 18

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

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

Вы все настроены!