Enviando Cadeia / Palavra / Caracteres através de / dev / ttyS0 (RS232)

1

Estou tentando enviar uma string para a porta de comunicação serial / dev / ttyS0. Em uma máquina Windows eu uso o programa Turbo Basic, que vem funcionando há muitos anos. Eu posso enviar '* 80' e acende uma luz no meu micro remoto. Eu posso enviar '* 81' para desligá-lo e assim por diante. Como eu 'envio' essas strings no shell 'C' ou no 'bash'? Eu adicionei o usuário ao grupo 'dialout' para que ele possa ser executado sem ter acesso 'root'.

As configurações de comunicação são 2400 N 8 1 e isso foi definido e o controle de fluxo está desativado. Isso é o que é requerido pelo Micro.

    
por robertdaleweir 08.02.2017 / 22:52

2 respostas

3

Se as configurações da porta serial estiverem corretas, é tão fácil quanto

echo '*80' >/dev/ttyS0

desde que você tenha permissão para gravar no arquivo do dispositivo. Se o dispositivo não quiser uma nova linha após o comando, use echo -n '*80' >/dev/ttyS0 .

Se você precisar alterar as configurações da porta serial, poderá usar setserial . Ou, alternativamente, você pode usar um dos muitos programas que podem interagir com uma porta serial, por exemplo

screen /dev/ttyS0 2400,cs8,-ixon,-ixoff

e digite *80 ou use minicom ou microcom ou…

    
por 09.02.2017 / 01:42
0

A maioria dos Linux ou BSD teria um pacote minicom disponível, que é a a caixa de ferramentas que fala com dispositivos seriais.

    
por 09.02.2017 / 06:52