Решение: avrdude: ser_open (): не удается открыть устройство на Arduino

В этой статье я объясню, как решить частую ошибку в Arduino:

avrdude: ser_open (): невозможно открыть устройство "/ dev / ttyACM0": в разрешении отказано

Фон

После долгого времени без использования Arduino я взял две вставки (оригинал и Elegoo) поработать с дочерью. Подключаю их, собираюсь поставить моргание, чтобы убедиться, что все в порядке и когда иду отправлять на плату, возвращает известную ошибку.

Arduino: 1.8.5 (Linux), карта: «Arduino / Genuino Uno» avrdude: ser_open (): не удается открыть устройство «/ dev / ttyACM0»: отказано в разрешении. Проблема с загрузкой на плату. Посетите http://www.arduino.cc/en/Guide/Troubleshooting#upload для получения предложений.

И на моем ПК, и на моем ноутбуке установлена ​​Ubuntu 18.04.

Решение

Я начинаю с того, что ссылка, которую вы мне предлагаете. И я следую по шагам

En инструменты / пластина Выбрано Arduino / Genuino Uno

En инструменты / последовательный порт / dev / ttyACM0

arduino avrdude ide проблема

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

 sudo usermod -a -G tty yourUserName
 sudo usermod -a -G dialout yourUserName

где ваш логин ваше имя пользователя

Теперь я выхожу из системы и снова вхожу в систему. И на всякий случай перезагружаю комп / ноутбук.

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

ls / dev / ttyACM0 возвращает / dev / ttyACM0
ls -l / dev / ttyACM0 возвращает crw-rw—- 1 root dialout 166, 0 26 ноября 16:41 / dev / ttyACM

Этим подтверждаем, что порт существует

Мы собираемся дать разрешения и проверить, есть ли у нашего пользователя необходимые разрешения.

 sudo chmod a+rw /dev/ttyACM0
 id devuelve 20(dialout) 

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

Что сработало для меня, так это переустановка Arduino.

Если вы проверите

which avrdude

И ничего не возвращает, переустановка Ардуино должна решаться.

sudo apt install --reinstall arduino

И если вам не удалось решить проблему, оставьте мне комментарий, и я постараюсь вам помочь.

Инструмент устранения неполадок AVRDUDE

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

AVRDUDE

Оставлю немного информации, чтобы лучше понять, что такое AVRDUDE. Название происходит от AVRDUDE - AVR Downloader / UploaDEr.

AVRDUDE - это утилита для загрузки / выгрузки / управления содержимым ROM и EEPROM микроконтроллеров AVR с использованием техники внутрисистемного программирования (ISP).

https://www.nongnu.org/avrdude/

AVRDUDE был запущен Брайаном С. Дином как частный проект в качестве программиста для серии микроконтроллеров Atmel AVR.

Вы можете найти программное обеспечение и другую информацию в сайт проекта.

1 комментарий к «Решение: avrdude: ser_open (): не удается открыть устройство на Arduino»

  1. У меня проблема с arduino, он не взаимодействует с ide или наоборот, у меня все хорошо настроено, все порты и т. Д. Я загрузил флип, но я не знаю, как он работает, чтобы перезагрузить прошивку, которая, как мне кажется, что не удается, вы могли бы немного подробнее рассказать, как переустановить arduino, спасибо, я новичок в этом

    ответ

Оставить комментарий