Arduino ide ошибка при загрузке

Обновлено: 05.07.2024

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

Действия по устранению проблем с Arduino в Windows 10

  1. Запустите IDE от имени администратора
  2. Установите драйвер вручную
  3. Изменить дату
  4. Подключите устройство к другому ПК
  5. Установите необходимые сертификаты
  6. Переустановите драйверы Arduino
  7. Проверьте, правильно ли выбрана доска
  8. Включить/выключить режим совместимости
  9. Завершить процесс LVPrcSrv.exe
  10. Запустить Arduino bat файл
  11. Не запускайте Cygwin
  12. Отключить определенные устройства
  13. Проверьте, правильно ли работает ваше устройство

Теперь, если проблема не устранена, просто следуйте инструкциям, перечисленным ниже, и мы уверены, что одно из этих решений поможет вам устранить технические неполадки, с которыми вы столкнулись.

Решение 1. Запустите IDE от имени администратора.

Чтобы устранить эту проблему на вашем компьютере с Windows 10, вам нужно запустить IDE как администратор. Для этого просто щелкните правой кнопкой мыши в среде IDE и выберите в меню Запуск от имени администратора .

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


  1. Щелкните правой кнопкой мыши Arduino IDE и выберите в меню Свойства .
  2. Перейдите на вкладку Совместимость и установите флажок Запускать эту программу от имени администратора .
  3. Нажмите Применить и ОК , чтобы сохранить изменения.

После запуска Arduino IDE от имени администратора проблема должна быть полностью решена.

Решение 2. Установите драйвер вручную

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

Немногие пользователи сообщили, что не могут установить драйвер, потому что он не подписан. Это мера безопасности Windows, предназначенная для защиты вас от потенциально вредоносных драйверов.

Используя эту функцию, вы можете устанавливать только те драйверы, которые имеют цифровую подпись и являются подлинными для вашего ПК. К сожалению, немногие пользователи сообщили, что эта функция вызвала проблему с драйверами Arduino.

Если вы не можете установить драйверы Arduino на ПК с Windows 10, мы рекомендуем отключить функцию принудительной подписи драйверов, выполнив следующие действия:


  1. Откройте меню «Пуск» и нажмите кнопку Питание .
  2. Удерживая клавишу Shift на клавиатуре, нажмите Перезагрузить .
  3. Вы увидите три варианта, доступных на экране. Выберите Устранение неполадок .
  4. Теперь выберите Дополнительные параметры> Параметры запуска и нажмите кнопку Перезагрузить .
  5. Когда ваш компьютер перезагрузится, вы увидите список доступных на экране опций.Нажмите F7 или 7 на клавиатуре, чтобы выбрать Отключить принудительное использование подписи драйверов .

Теперь Windows 10 запустится нормально, и вы сможете без проблем установить неподписанные драйверы. Вы можете столкнуться с предупреждением при попытке установить неподписанный драйвер, но вы все равно сможете установить драйвер Arduino без проблем.

Чтобы сделать это в Windows 10, выполните следующие действия:

  1. Щелкните правой кнопкой мыши часы на панели задач и выберите Настроить время/дату .
  2. Когда откроется окно Дата и время , убедитесь, что параметры Автоматически установить время и Автоматически установить часовой пояс отключены. Теперь нажмите кнопку Изменить .
  3. Появится диалоговое окно Изменить дату и время . Установите более раннюю дату, например, несколькими днями или месяцами ранее, и нажмите Изменить .
  4. После изменения даты попробуйте установить драйвер еще раз.
  5. После установки драйвера снова перейдите в раздел Дата и время wind ow и установите правильную дату. Вы также можете включить опции Автоматически устанавливать время и Автоматически установить часовой пояс .
  • ЧИТАЙТЕ ТАКЖЕ: часы панели задач теперь интегрированы с календарем в Windows 10

Решение 4. Подключите устройство к другому ПК.

По словам пользователей, если Windows 10 не может распознать ваш Arduino, вы можете подключить его к другому ПК, на котором установлена ​​более старая версия Windows. Пользователи сообщили, что их устройство было распознано после подключения к другому ПК.

Найдя модель Arduino, они смогли загрузить драйвер и установить устройство на свой ПК с Windows 10.

  1. Откройте каталог Arduino/drivers .
  2. Найдите файл arduino.cat , щелкните его правой кнопкой мыши и выберите Открыть .
  3. Когда откроется новое окно, нажмите кнопку Просмотреть подпись .
  4. Теперь нажмите кнопку Установить сертификат .

После установки сертификата вы сможете установить драйверы Arduino без проблем.


  1. Откройте Диспетчер устройств .
  2. Найдите Arduino в Диспетчере устройств и щелкните по нему правой кнопкой мыши. Выберите Удалить .
  3. Установите флажок Удалить драйвер для этого устройства и нажмите ОК .
  4. После удаления драйвера перезагрузите компьютер.

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

Решение 7. Проверьте, правильно ли выбрана плата

  • ЧИТАЙТЕ ТАКЖЕ: F.lux скоро будет доступен в Магазине Windows

Решение 8. Включение/выключение режима совместимости

Пользователи сообщали об ошибке Имя последовательного порта не определено в Arduino IDE, и, по их мнению, эта проблема вызвана режимом совместимости.

Эта функция чрезвычайно полезна, если вы хотите запустить более старое программное обеспечение в Windows 10, но иногда использование режима совместимости может привести к определенным проблемам. Чтобы решить эту проблему с Arduino, вам нужно отключить режим совместимости, выполнив следующие действия:

  1. Найдите ярлык Arduino IDE, щелкните его правой кнопкой мыши и выберите Свойства .
  2. Перейдите на вкладку Совместимость и убедитесь, что Запустить эту программу в режиме совместимости для не отмечено.Если этот флажок установлен, снимите флажок и нажмите Применить и ОК , чтобы сохранить изменения.

Некоторые пользователи утверждают, что вы можете решить эту проблему, запустив Arduino IDE в режиме совместимости для Windows 98/Me. Чтобы сделать это, повторите описанные выше шаги и убедитесь, что вы установили флажок Запустить эту программу в режиме совместимости для .

Выберите более старую версию Windows и нажмите Применить и ОК , чтобы сохранить изменения.


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

Очевидно, что процесс Logitech LVPrcSrv.exe вызывает эту ошибку, и для ее исправления необходимо завершить этот процесс из диспетчера задач. Для этого выполните следующие простые шаги:


  1. Нажмите Ctrl + Shift + Esc , чтобы открыть диспетчер задач.
  2. Когда откроется Диспетчер задач , перейдите на вкладку Подробности и найдите LVPrcSrv.exe .
  3. Если вы обнаружите этот процесс, нажмите его правой кнопкой мыши и выберите в меню Завершить задание .
  4. После завершения процесса закройте Task Manager и попробуйте снова запустить программное обеспечение Arduino.

Если LVPrcSrv.exe вызывает эту проблему на вашем компьютере, вам придется завершать этот процесс каждый раз, когда вы хотите запустить программное обеспечение Arduino на вашем компьютере.

  • ЧИТАЙТЕ ТАКЖЕ: сборка для виртуальных машин Windows для разработчиков в сентябре 2016 г.

Решение 10. Запустите Arduino bat файл

Чтобы избежать этой проблемы, вы можете просто запустить Arduino, дважды щелкнув файл run.bat. Имейте в виду, что среда Arduino может запускаться медленно, поэтому вам придется набраться терпения.

Решение 11. Не запускайте Cygwin

Пользователи сообщили, что могут возникнуть определенные проблемы, если вы попытаетесь скомпилировать эскиз в Arduino, когда Cygwin работает в фоновом режиме. Чтобы избежать этой проблемы на вашем компьютере, вы можете просто отключить Cygwin при использовании Arduino.

Если это не поможет, вам, возможно, придется удалить cygwin1.dll из каталога Arduino и заменить его на cygwin1.dll из каталога cygwin.

Решение 12. Отключение определенных устройств.

Немногие пользователи сообщили, что запуск программного обеспечения Arduino занимает много времени, и кажется, что он зависает при попытке открыть меню «Инструменты». Эта проблема вызвана другими устройствами, которые могут создавать COM-порты на вашем компьютере.

Хорошим примером таких устройств являются устройства Bluetooth, поэтому, если вам доступно одно из этих устройств, обязательно отключите его в диспетчере устройств. Для этого вам необходимо выполнить следующие шаги:


  1. Откройте Диспетчер устройств .
  2. Найдите устройство, которое хотите отключить, щелкните его правой кнопкой мыши и выберите в меню Отключить .

После отключения этих устройств время загрузки программного обеспечения Arduino должно улучшиться.

По словам пользователей, проблемы с платой Arduino могут возникнуть, если ваше устройство сломано, поэтому рекомендуется попробовать его на другом ПК. Если можете, обязательно попробуйте устройство на разных компьютерах с разными операционными системами.

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

Как видите, с Arduino и Windows 10 возникают всевозможные проблемы, но в большинстве случаев вы сможете решить эти проблемы, просто установив соответствующий драйвер или проверив сертификаты безопасности.


Итак, разобрались со средой разработки, теперь можно загрузить первую прошивку. Можно загрузить пустую прошивку, чтобы просто убедиться, что все драйвера установились и платы вообще прошиваются. Рекомендуется делать это с новой платой, к которой никогда не подключались датчики и модули, чтобы исключить выход платы из строя по вине пользователя.

1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер CH341 из предыдущего урока
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику




4. Выбираем свою плату. Если это Arduino Nano, выбираем в Инструменты\Плата\Arduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.

  • [Только для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем Инструменты\Процессор\ATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p

Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.

Ошибки компиляции

Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо софтварная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Если в проекте используется плата Nano на процессоре 328p, а вы сэкономили три рубля и купили на 168 процессоре – скупой платит дважды. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Частые ошибки в коде, приводящие к ошибке компиляции

  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘\320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки

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

  • USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
  • Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
  • Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.

Предупреждения

Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:

  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

    Видео

    Произошла ошибка при загрузке скетча на ардуино нано.

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    Мое Ардуино нано постоянно выдает ошибку при загрузке скетча, даже скопированного с интернета.

    Вот текст ошибки:

    Скетч использует 1906 байт (6%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 185 байт (9%) динамической памяти, оставляя 1863 байт для локальных переменных. Максимум: 2048 байт. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x0d avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x0a avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x5e avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x44 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x53 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x46 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4c avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4f avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x57 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x52
    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    ЕвгенийП аватар

    Что за ардуино (ссылку - где покупалась)? Какие драйверы стоят? Что показывает диспетчер устройств? Что выбрано в меню "Инструменты|Плата"?

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    Скорость порта 57600?

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    Нет скорость 9600 бод.

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    trembo аватар

    Судя по случайным и ненулевым ответам не та скорость.

    P.S. Фамилию не позорьте ;)

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    Сорости я вообще не касался. А что с фамилией?

    • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

    ЕвгенийП аватар

    Эти фразы противоречат одна другой. В поставке IDE одни драйверы, а в том гайде другие. Вы ставили и те и те? Если только из IDE, то они Вам не подходят - ставьте те, что описаны в гайде.

    По поводу скорости, разговор особый. КТо Вам сказал, что у Вас скорость 9600? Вы включали в IDE печать подробностей загрузки? Если нет включите и изучите что скажет, можете и сюда скопипастить.

    С такой проблемой сталкиваются довольно часто. Причем даже те, кто уже имел неплохой опыт программирования ардуино.

    Понятное дело, что первое, что приходит на ум заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.

    Существует две наиболее частые ситуации:

    1. Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
    2. Загрузка скетча подвисает, а потом выдает ошибку:


    1я ситуация разобрана здесь.

    Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.

    Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью 15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со скоростью в 2 раза меньше – 57600.

    Решить эту проблему можно двумя способами:

    1. Обновить загрузчик на плате
    2. Добавить плату со старым загрузчиком в конфигурацию Arduino IDE

    Лично мне кажется, что второй способ – более универсальный и простой. Поэтому его и опишу.

    Теперь откройте папку hardware\arduino\avr и найдите файл boards.txt

    В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»


    Выбор платы из списка

    Откройте этот файл в текстовом редакторе, например, в блокноте.

    Найдите в нем строчку uno.upload.speed


    Настройки плат ардуино

    Мы видим, что скорость загрузки равно 115200. Но у нас плата, которая хочет 57600!

    Можно, конечно, поменять на 115200 на 57600, но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.

    Выход, получается, один – добавить плату, скажем, UNO2, на случай скорости 57600.

    Предлагаю просто вставить себе мои настройки и сохранить файл:

    Теперь у вас две платы UNO и две Nano:


    Выбор платы ардуино в Arduino IDE

    Читайте также: