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


10

Я використовую ID Arduino для завантаження ескізів до мого 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.

Я просто хочу краще зрозуміти, які саме ці порти є.

Відповіді:


6

/dev/ttyACM0є пристроєм зв'язку USB (CDC) підтипу "абстрактна модель управління" (ACM). Саме таким є Ардуїно.

/dev/ttyS0 є апаратним послідовним портом - (як правило) 9-контактний D-роз'єм на задній панелі комп'ютера.

Якщо ви хочете скористатися /dev/ttyS0(чому б це зробити ?!), вам знадобиться спеціальний кабель, який перетворює сигнали напруги RS-232 з 9-контактного роз'єму D у правильні сигнали рівня TTL для Ardiuno та підключає його до потрібних штифтів на дошці.


-1

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

Це також може бути опцією в IDE Arduino, і саме тому ці варіанти існують.


1
чому б ви перейменовували його, коли символьне посилання могло зробити трюк?
PypeBros
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.