MacOS:/dev/tty.*和/dev/cu.*有什么区别?


88

每个串行设备出现两次/dev,一次为一次tty.*,一次为一次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

Answers:


96

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

这个想法是为了补充软件,在呼入和呼出之间共享一条线路。呼入设备(通常为/ dev / tty *)用于传入流量。只要DCD没有被硬件声明(即,只要调制解调器没有载波),任何试图打开它的进程都会在open()调用中阻塞。在此期间,可以自由使用标注设备(通常为/ dev / cu *-cu代表“呼叫单位”)。打开/ dev / cu *不需要断言DCD并立即成功。一旦成功,调用设备上被阻塞的open()将被挂起,并且在DCD升高时甚至无法完成,直到再次关闭cu设备为止。

这样,您可以让getty监听/ dev / tty *,并且仍然可以不受限制地使用/ dev / cu *。


谢谢汤姆,这就是我需要知道的。
马克·哈里森

正确,这是一种情况,如果您想使用(在Unix和朋友中)“ cat”将串行端口数据捕获到诸如“ cat /dev/cu.xxxx> file.txt”之类的文件中,而该文件不适用于“蒂。由于封锁。至少不是在MacO上。
nyholku

我能够通过tty发送东西。这是为什么?
StackOverflowOfficial
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.