2012-10-25 1 views
4

Linux에서 하드웨어 흐름 제어 라인 인 RTS 및 CTS를 사용하도록 UART를 구성하려고합니다. http://linux.die.net/man/3/termios에 따르면 CRTSCTS는 RTS/CTS (하드웨어) 흐름 제어를 활성화하고 CLOCAL은 직렬 포트가 모뎀 제어 회선을 무시하도록 구성합니다. 2 플래그는 모순 된 것처럼 보입니다. 하드웨어 흐름 제어를 CRTSCTS로 활성화하고 CLOCAL로는 어떻게 무시할 수 있습니까?termios.c_cflag의 CLOCAL 및 CRTSCTS 플래그는 직렬 포트에 어떻게 영향을 줍니까?

답변

5

CLOCALCD 신호 만 무시합니다.

+0

답장을 보내 주셔서 감사합니다. RTS와 CTS 만있는 UART를 사용하고 있었는데 CD 신호를 알지 못했습니다. 빠른 Google 검색을 통해 RS-232 (및 기타 직렬 프로토콜)는 RTS 및 CTS 외에 Carrier Detect (캐리어 감지) 회선을 사용함을 알 수있었습니다. – Samuel

+1

Linux tty_ioctl (4) 매뉴얼 페이지에서 조금 더 많은 정보가 있습니다. "라인에 대한 CLOCAL 플래그가 꺼져 있으면 하드웨어 캐리어 감지 (DCD) 신호가 중요하며 O_NONBLOCK 플래그가 지정되어 있지 않으면 DCD가 어설 션 될 때까지 해당 터미널의 open (2)이 차단됩니다 .CLOCAL이 설정되면 라인은 DCD가 항상 어설 션 된 것처럼 동작합니다. 소프트웨어 캐리어 플래그는 대개 로컬 장치에 대해 켜지고 모뎀이있는 라인에서는 꺼집니다. " –

관련 문제