MacOS: у чому різниця між /dev/tty.* та /dev/cu.*?


88

Кожен послідовний пристрій відображається двічі /dev, один раз як a tty.*і один раз як a cu.*.

Що це за cu.*пристрій? Чим він відрізняється від tty.*пристрою?

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

Відповіді:


96

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

Ідея полягає в тому, щоб доповнити програмне забезпечення, розділяючи лінію між вхідними та вихідними дзвінками. Пристрій виклику (зазвичай / dev / tty *) використовується для вхідного трафіку. Будь-який процес, який намагається його відкрити, блокується в рамках виклику open (), якщо апаратне забезпечення не затверджує DCD (тобто поки модем не має несучої). Протягом цього пристрій виноски (як правило, / dev / cu * - cu означає «викличний блок») можна вільно використовувати. Відкриття / dev / cu * не вимагає затвердження DCD і негайне завершення. Після успішного завершення роботи заблокованого відкритого пристрою () на викличному пристрої буде призупинено і навіть не буде завершено, коли піднятий DCD, доки пристрій cu знову не закриється.

Таким чином, ви можете отримати getty для прослуховування на / dev / tty * і все ще можете використовувати / dev / cu * без обмежень.


Дякую Томе, саме це мені потрібно було знати.
Mark Harrison

Правильно, один випадок, коли це питання, якщо ви хочете використовувати (в Unix та друзях) "cat" для збору даних послідовного порту у такий файл, як "cat /dev/cu.xxxx> file.txt", який не працює з " tty. ' через блокування. Принаймні не на MacO.
ньюхолку

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