Разница между / dev / ttyACM0 и / dev / ttyS0 (порты Arduino IDE под Linux)

10

Я использую Arduino IDE для загрузки эскизов на Arduino Uno. Моя ОС - Linux Ubuntu 14.04 LTS. Arduino IDE по умолчанию имеет два порта для связи с Arduino Uno:

/dev/ttyACM0
/dev/ttyS0
  1. В чем разница между этими двумя портами?
  2. Что означают «ACM0» и «S0»?
  3. Есть ли где-то в структуре папок ОС файлы конфигурации, описывающие параметры этих портов?

Я знаю, что когда я выбираю /dev/ttyACM0, я могу отправлять данные на Arduino Uno. Однако это не работает, когда я выбираю /dev/ttyS0.

Я просто хочу лучше понять, что это за порты.

phodor
источник

Ответы:

6

/dev/ttyACM0является устройством связи USB (CDC) подтипа «абстрактная модель управления» (ACM). Вот что такое Arduino.

/dev/ttyS0 это аппаратный последовательный порт - (обычно) 9-контактный разъем D на задней панели компьютера.

Если вы хотите использовать /dev/ttyS0(зачем вам ?!) вам понадобится специальный кабель, который преобразует сигналы напряжения RS-232 от 9-контактного разъема D в правильные сигналы уровня TTL для Ardiuno и подключает его к правым контактам на борту.

Маженко
источник
-1

Некоторые языки высокого уровня (например, matlab) обрабатывают все последовательные порты как переключатель / dev / ttyS #. Для взаимодействия с Arduino с MATLAB вы должны переименовать / dev / ttyACM0 в / dev / ttyS #.

Это также может быть опцией в Arduino IDE, и именно поэтому эти опции существуют.

Остин Дауни
источник
1
зачем вам переименовывать его, когда символическая ссылка может помочь?
PypeBros