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.