MacOS: qual è la differenza tra /dev/tty.* e /dev/cu.*?


88

Ogni dispositivo seriale si presenta due volte in /dev, una volta come a tty.*e una volta come a cu.*.

Qual è il cu.*dispositivo? Come si differenzia dal tty.*dispositivo?

mh@maru ~ --> ls -l /dev/*.usbmodem621
crw-rw-rw-  1 root  wheel   11,   5 Dec 25 18:00 /dev/cu.usbmodem621
crw-rw-rw-  1 root  wheel   11,   4 Dec 25 18:00 /dev/tty.usbmodem621

Risposte:


96

http://lists.berlios.de/pipermail/gpsd-dev/2005-April/001288.html :

L'idea è di integrare il software nella condivisione di una linea tra le chiamate in entrata e in uscita. Il dispositivo di chiamata (in genere / dev / tty *) viene utilizzato per il traffico in entrata. Qualsiasi processo che tenti di aprirlo si blocca all'interno della chiamata open () fintanto che DCD non è affermato dall'hardware (cioè finché il modem non ha una portante). Durante questo, il dispositivo di chiamata (tipicamente / dev / cu * - cu sta per "calling unit") può essere usato liberamente. L'apertura di / dev / cu * non richiede l'asserzione di DCD e riesce immediatamente. Una volta riuscito, il blocco open () sul dispositivo di chiamata verrà sospeso e non potrà nemmeno essere completato quando DCD viene sollevato, fino a quando il dispositivo cu non verrà nuovamente chiuso.

In questo modo, puoi avere un getty in ascolto su / dev / tty * e puoi ancora usare / dev / cu * senza restrizioni.


Grazie Tom, è proprio quello che avevo bisogno di sapere.
Mark Harrison

Esatto, un caso in cui la questione è se si desidera utilizzare (in Unix e amici) 'cat' per acquisire i dati della porta seriale in un file come 'cat /dev/cu.xxxx> file.txt' che non funziona con ' tty. " a causa del blocco. Almeno non su MacOs.
nyholku

Sono stato in grado di inviare materiale tramite tty. Perché?
StackOverflow ufficiale il
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.