Решение: 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

Donde Вашето потребителско име е вашето потребителско име

Сега излизам и влизам отново. И за всеки случай рестартирам компютъра / лаптопа.

Все още не ми работи и документацията за 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

И не връща нищо, преинсталирането на Arduino трябва да бъде решено.

sudo apt install --reinstall arduino

И ако не сте успели да разрешите проблема, оставете ми коментар и аз ще се опитам да ви помогна.

Инструмент за отстраняване на неизправности на AVRDUDE

Има a скрипт, който са подготвили да разрешат този проблем. Можете да опитате да видите дали това ви помага. Не съм го използвал, но го оставям, защото мисля, че може да бъде полезен ресурс.

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, благодаря, че съм нов в това

    отговор

Оставете коментар