MacOS: Was ist der Unterschied zwischen /dev/tty.* und /dev/cu.*?


87

Jedes serielle Gerät wird zweimal angezeigt /dev, einmal als tty.*und einmal als cu.*.

Was ist das cu.*Gerät? Wie unterscheidet es sich vom tty.*Gerät?

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

Antworten:


94

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

Die Idee ist, Software durch die gemeinsame Nutzung einer Leitung zwischen eingehenden und ausgehenden Anrufen zu ergänzen. Das Callin-Gerät (normalerweise / dev / tty *) wird für eingehenden Datenverkehr verwendet. Jeder Prozess, der versucht, ihn zu öffnen, blockiert innerhalb des Aufrufs open (), solange DCD nicht von der Hardware aktiviert wird (dh solange das Modem keinen Träger hat). Währenddessen kann das Callout-Gerät (normalerweise steht / dev / cu * - cu für "Calling Unit") frei verwendet werden. Das Öffnen von / dev / cu * erfordert nicht, dass DCD aktiviert wird, und ist sofort erfolgreich. Sobald dies erfolgreich war, wird das blockierte open () auf dem Callin-Gerät angehalten und kann nicht einmal abgeschlossen werden, wenn DCD ausgelöst wird, bis das cu-Gerät wieder geschlossen wird.

Auf diese Weise können Sie / dev / tty * gut hören und / dev / cu * weiterhin ohne Einschränkungen verwenden.


Danke Tom, genau das musste ich wissen.
Mark Harrison

Richtig, ein Fall, in dem dies wichtig ist, wenn Sie (unter Unix und Freunden) 'cat' verwenden möchten, um Daten der seriellen Schnittstelle in einer Datei wie 'cat /dev/cu.xxxx> file.txt' zu erfassen, die nicht mit 'funktioniert. tty. ' wegen der Blockierung. Zumindest nicht auf MacOs.
Nyholku

Ich konnte Sachen durch tty verschicken. Warum ist das so?
StackOverflowOfficial
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.