MacOS : /dev/tty.*와 /dev/cu.*의 차이점은 무엇입니까?


89

각 직렬 장치는에서 두 번 /dev, 한 번은 a로 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

답변:


97

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

아이디어는 수신 및 발신 통화 사이에 회선을 공유하는 소프트웨어를 보완하는 것입니다. 호출 장치 (일반적으로 / dev / tty *)는 수신 트래픽에 사용됩니다. DCD가 하드웨어에 의해 어설 션되지 않는 한 (즉 모뎀에 캐리어가없는 한) open () 호출 내에서이를 열려고 시도하는 모든 프로세스는 차단됩니다. 이 동안 콜 아웃 장치 (일반적으로 / dev / cu *-cu는 "호출 장치"를 나타냄)를 자유롭게 사용할 수 있습니다. / dev / cu *를 여는 데 DCD를 확인할 필요가 없으며 즉시 성공합니다. 성공하면 호출 장치에서 차단 된 open ()이 일시 중단되고, cu 장치가 다시 닫힐 때까지 DCD가 올라갈 때도 완료 할 수 없습니다.

이렇게하면 getty가 / dev / tty *에서 수신 대기하고 제한없이 / dev / cu *를 계속 사용할 수 있습니다.


고마워 Tom, 그게 내가 알아야 할 것입니다.
Mark Harrison

맞습니다.이 문제는 'cat'을 사용하여 직렬 포트 데이터를 'cat /dev/cu.xxxx> file.txt'와 같은 파일로 캡처하려는 경우입니다. tty. ' 차단 때문입니다. 적어도 MacO에서는 아닙니다.
nyholku

tty를 통해 물건을 보낼 수있었습니다. 왜 그런 겁니까?
StackOverflowOfficial

@MarkHarrison과 Tom : 그래서, 대부분의 경우, 직렬 포트와 통신하는 비-멋진 프로그램을 작성하는 경우 / dev / tty * 장치를 사용해야한다고 가정합니다. 맞습니까?
ptdecker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.