Проблема с загрузкой кода IDE Arduino

У меня ubuntu 18.04 с IDE Arduino. Проблема, с которой я всегда сталкиваюсь, заключается в том, что когда я хочу загрузить код и подключить кабель USB от Arduino к ноутбуку, я всегда получаю одну и ту же ошибку:

Ошибка:

An error occurred while uploading the sketch
avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy

Я всегда проверяю порт в IDE. У меня версия 1.8.12, тестировал с другими версиями, но была та же ошибка. С windows у меня такой проблемы не было. Почему это происходит и как я могу это решить? Это очень серьезная проблема, и мне нужно много раз нажимать кнопку загрузки (в IDE -> Ctrl + U) или удалять, а затем снова вставлять кабель в компьютер. Так что на все это у меня уходит минута Что я должен делать? Я в отчаянии и зол на эту проблему.

Примечание: такая же проблема возникла в Ubuntu 19.04.

Кстати, Arduino IDE быстрее компилирует большой код, чем Windows. Невероятно другое время !!! Спасибо!!!

0
задан 22 April 2020 в 19:44

2 ответа

После того, как вы напишете свой код и скомпилируете его, откройте терминал. Если ваш порт, скажем, ttyACM0, выполните следующее:

ls /dev/ttyACM0
sudo chmod a+rw /dev/ttyACM0

Введите свой пароль в командной строке и нажмите Enter. А теперь можете идти и загружать код

-1
ответ дан 5 June 2020 в 09:31

ModemManager может конфликтовать с /dev/ttyACM0. У вас есть два варианта:

Временно отключить ModemManager

systemctl stop ModemManager.service

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

Полное удаление ModemManager

Вы можете полностью удалить ModemManager, но это означает, что вы больше не сможете использовать какой-либо модем с Ubuntu. Поэтому, если вы используете USB-модем для доступа в Интернет, не удаляйте ModemManager.

Вот что делает ModemManager:

ModemManager — это демон, активируемый DBus, который контролирует мобильные широкополосные (2G/3G/4G) устройства и соединения. Будь то встроенные устройства, USB-ключи, телефоны с Bluetooth-соединением или профессиональные устройства RS232/USB с внешними источниками питания, ModemManager может подготовить и настроить модемы и установить с ними соединения.

Если вы уверены, что никогда не будете использовать модем, выполните следующую команду, чтобы полностью удалить модем:

sudo apt-get --purge remove modemmanager
0
ответ дан 14 August 2020 в 21:16

Другие вопросы по тегам:

Похожие вопросы: