web-dev-qa-db-ja.com

ttyのハードウェア制御RTS

UARTそのRTSピンが外部RS485トランシーバーに接続されているので、RTSピンをアサートするとトランシーバーが送信モードに設定されます。RTSを使用するようにシリアルポートを構成できると思いました。信号を送信するため、ユーザースペースからピンを手動で切り替える必要がなくなります。ポート(ttyS1)を構成するときは、struct termios optionsoptions.c_cflag |= CRTSCTSを使用します。ただし、これは関連するピンには影響しません。カーネル4.14(ただし、4.16/17に移動できます)。

何か案は?

2
user907323

問題は、デバイスツリーが関連するUARTで使用するためにRTSピンとCTSピンを正しく構成しなかったことでした。デバイスツリーには、次のようなものが含まれている必要があります。

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

ピンが以前に適切に定義されている場合。

1
user907323