RTS controlado por hardware em tty

2

Eu tenho uma UART cujo pino RTS está conectado a um transceptor RS485 externo, de modo que a ativação do pino RTS defina o transceptor para o modo de envio. Pensei que poderia configurar a porta serial para usar o sinal RTS, eliminando assim a necessidade de alternar manualmente o pino do espaço do usuário. Ao configurar a porta (ttyS1) eu uso struct termios options com options.c_cflag |= CRTSCTS . Mas isso não tem efeito no pino relevante. Estou no kernel 4.14 (mas posso passar para 4.16 / 17).

Alguma idéia?

    
por user907323 30.08.2018 / 16:27

1 resposta

1

O problema era que a árvore de dispositivos não configurava corretamente os pinos RTS e CTS para uso com o UART relevante. A árvore de dispositivos deve conter algo como:

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

Onde os pinos foram adequadamente definidos anteriormente.

    
por 13.09.2018 / 10:27