tty 上的硬件控制 RTS

tty 上的硬件控制 RTS

我有一个 UART,其 RTS 引脚连接到外部 RS485 收发器,因此断言 RTS 引脚会将收发器设置为发送模式。我认为我可以将串行端口配置为使用 RTS 信号,从而无需从用户空间手动切换引脚。配置端口(ttyS1)时,我struct termios options使用options.c_cflag |= CRTSCTS.但这对相关引脚没有影响。我使用的是内核 4.14(但可以移动到 4.16/17)。

有任何想法吗?

答案1

问题在于设备树未正确配置 RTS 和 CTS 引脚以与相关 UART 一起使用。设备树应该包含如下内容:

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

之前已经适当定义了引脚。

相关内容