interpretando a saída stty para iniciar a conexão com o hyperterminal

2

Estou tentando me comunicar entre um dispositivo embutido que executa o linux e um PC que executa o windows xp em uma conexão RS232. No windows eu uso o Hyperterminal, mas não sei quais configurações devo usar. Eu tenho que definir

  • Bits por segundo
  • Bits de dados
  • Paridade
  • Parar bits
  • Controle de fluxo

No dispositivo linux eu corri stty para descobrir as configurações daquele lado. Eu não quero alterar essas configurações do dispositivo linux, mas apenas lê-los. Mas eu tenho dificuldade em interpretar a saída.

    ~ $ stty -F / dev / ttyS0 -a     velocidade 9600 baud; linhas 24; colunas 80;     intr = ^ C; quit = ^ \; apagar = ^; kill = ^ U; eof = ^ D; eol =;     eol2 =; start = ^ Q; stop = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W;     lnext = ^ V; flush = ^ O; min = 1; tempo = 0;     -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts     -ignbrk -brkint -ignpar -parmrk -inpck -istrip -incrito -igncr icrnl ixon -ixoff     -iuclc -ixany -imaxbel     opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -dois nl0 cr0 tab0 bs0 vt0 ff0     isig icanon iext

Bits per second provavelmente terá que ser ajustado para 9600, mas como eu tenho que interpretar a saída restante da stty?

Editar:

Ok, eu fiz um pouco mais. Procurando se getty está em execução:

~# ps | grep getty
 1557 root      1884 S    /sbin/getty 115200 ttyS2
 1558 root      1884 S    /sbin/getty 38400 tty1
 1600 root      2636 S    grep getty

Suponho que isso significa que estou ouvindo no dispositivo ttyS2 e também parece indicar a taxa de transmissão como 115200 . Agora eu corri stty para ver as configurações:

~# stty -F /dev/ttyS2 -a
speed 115200 baud; rows 24; columns 80;
intr = ^C; quit = ^\; erase = ^?; kill = ^X; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
-ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop
-echoprt -echoctl -echoke

Agora, tentando usar isso no Hyperterminal, presumo as seguintes configurações:

  • Bits por segundo: 115200
  • Bits de dados: 8 (por causa do cs8)
  • Paridade: nenhuma (por causa de -parenb)
  • Parar bits: 1 (por causa de -cstopb)
  • Controle de fluxo: nenhum (por causa de -crtscts e -ixon)

Mas ainda não está funcionando.

    
por Lucas 29.08.2011 / 17:45

1 resposta

2

Experimente 8 bits, sem paridade, um bit de parada, controle de fluxo de software. Isto vem de:

"cs8" significa 8 bits de dados. "-crtscts" significa que não há controle de fluxo de hardware. "ixon" significa controle de fluxo suave. "-cstop" significa um bit de parada.

    
por 29.08.2011 / 17:54