Differenza tra / dev / ttyACM0 e / dev / ttyS0 (porte IDE Arduino su Linux)


10

Uso l'IDE di Arduino per caricare schizzi sul mio Arduino Uno. Il mio sistema operativo è Linux Ubuntu 14.04 LTS. L'IDE Arduino ha due porte per impostazione predefinita per la comunicazione con Arduino Uno:

/dev/ttyACM0
/dev/ttyS0
  1. Qual è la differenza tra queste due porte?
  2. Cosa significano "ACM0" e "S0"?
  3. Esistono file di configurazione da qualche parte nella struttura delle cartelle del sistema operativo che descrivono i parametri di queste porte?

So che quando seleziono /dev/ttyACM0, sono in grado di inviare dati al mio Arduino Uno. Tuttavia non funziona quando seleziono /dev/ttyS0.

Voglio solo capire meglio quali sono esattamente queste porte.

Risposte:


6

/dev/ttyACM0è un dispositivo di comunicazione USB (CDC) del sottotipo "modello di controllo astratto" (ACM). Questo è Arduino.

/dev/ttyS0 è una porta seriale hardware: il connettore D (tipicamente) a 9 pin sul retro del computer.

Se vuoi usare /dev/ttyS0(perché dovresti ?!) avrai bisogno di un cavo speciale che converte i segnali di tensione RS-232 dal connettore D a 9 pin nei segnali di livello TTL giusti per l'Ardiuno e collegalo ai pin giusti alla lavagna.


-1

Alcune lingue di alto livello (ad es. Matlab) trattano tutte le porte seriali come selettore / dev / ttyS #. Per interfacciarsi con un Arduino con MATLAB devi rinominare / dev / ttyACM0 come / dev / ttyS #.

Questa potrebbe anche essere un'opzione nell'IDE di Arduino ed è per questo che esistono queste opzioni.


1
perché dovresti rinominarlo quando un collegamento simbolico potrebbe fare il trucco?
PypeBros,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.