tty의 하드웨어 제어 RTS

tty의 하드웨어 제어 RTS

외부 RS485 트랜시버에 연결된 RTS 핀이 있는 UART가 있으므로 RTS 핀을 지정하면 트랜시버가 전송 모드로 설정됩니다. RTS 신호를 사용하도록 직렬 포트를 구성하면 사용자 공간에서 핀을 수동으로 전환할 필요가 없다고 생각했습니다. 포트(ttyS1)를 구성할 때 를 struct termios options사용 options.c_cflag |= CRTSCTS하지만 관련 핀에는 영향을 미치지 않습니다. 저는 커널 4.14를 사용하고 있습니다(하지만 4.16/17로 이동할 수 있습니다).

어떤 아이디어가 있나요?

답변1

문제는 장치 트리가 관련 UART와 함께 사용할 RTS 및 CTS 핀을 올바르게 구성하지 않는다는 것입니다. 장치 트리에는 다음 콘텐츠가 포함되어야 합니다.

&uart1 {
  pinctrl-names = "default";
  pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
  status = "okay";
};

핀은 이전에 적절하게 정의되었습니다.

관련 정보