Perbedaan antara / dev / ttyACM0 dan / dev / ttyS0 (Arduino IDE ports di Linux)

10

Saya menggunakan Arduino IDE untuk mengunggah sketsa ke Arduino Uno saya. OS saya adalah Linux Ubuntu 14.04 LTS. Arduino IDE memiliki dua port secara default untuk komunikasi dengan Arduino Uno:

/dev/ttyACM0
/dev/ttyS0
  1. Apa perbedaan antara kedua port ini?
  2. Apa arti "ACM0" dan "S0"?
  3. Apakah ada file konfigurasi di suatu tempat dalam struktur folder OS yang menggambarkan parameter port ini?

Saya tahu bahwa ketika saya memilih /dev/ttyACM0, saya dapat mengirim data ke Arduino Uno saya. Namun itu tidak berfungsi ketika saya memilih /dev/ttyS0.

Saya hanya ingin lebih memahami apa sebenarnya port-port ini.

phoror
sumber

Jawaban:

6

/dev/ttyACM0adalah perangkat komunikasi USB (CDC) dari sub-tipe "model kontrol abstrak" (ACM). Itulah Arduino itu.

/dev/ttyS0 adalah port serial perangkat keras - konektor (biasanya) 9-pin D di bagian belakang komputer Anda.

Jika Anda ingin menggunakan /dev/ttyS0(mengapa Anda mau ?!) Anda akan memerlukan kabel khusus yang mengubah sinyal tegangan RS-232 dari konektor D 9-pin menjadi sinyal level TTL yang tepat untuk Ardiuno dan menyambungkannya ke pin yang tepat di papan tulis.

Majenko
sumber
-1

Beberapa bahasa tingkat tinggi (mis. Matlab) memperlakukan semua port serial sebagai pemilih / dev / ttyS #. Untuk berinteraksi dengan Arduino dengan MATLAB, Anda harus mengganti nama / dev / ttyACM0 sebagai / dev / ttyS #.

Ini juga bisa menjadi opsi di Arduino IDE, dan itulah sebabnya opsi itu ada.

Austin Downey
sumber
1
mengapa Anda mengganti nama ketika symlink bisa melakukan trik?
PypeBros