web-dev-qa-db-ja.com

stty出力を解釈してハイパーターミナルとの接続を開始します

Linuxを実行する組み込みデバイスとRS232接続を介してWindowsXPを実行するPCとの間で通信しようとしています。 Windowsではハイパーターミナルを使用していますが、どの設定を使用すればよいかわかりません。私は設定する必要があります

  • ビット/秒
  • データビット
  • パリティ
  • ストップビット
  • フロー制御

Linuxデバイスで、sttyを実行して、その側の設定を確認しました。 Linuxデバイスでこれらの設定を変更したくはありませんが、読み取るだけです。しかし、私は出力を解釈するのに苦労しています。

〜$ stty -F/dev/ttyS0-速度9600ボー;行24;列80; intr = ^ C;終了= ^ \;消去= ^?;キル= ^ U; eof = ^ D; eol =; eol2 =;開始= ^ Q;停止= ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V;フラッシュ= ^ O;最小= 1;時間= 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 -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iext

Bits per secondはおそらく9600に設定する必要がありますが、sttyからの残りの出力をどのように解釈する必要がありますか?

編集:

さて、私はもう少しやりました。 gettyが実行されているかどうかを確認します。

~# 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

これは、デバイスttyS2でリッスンしていることを意味し、ボーレートを115200として示しているようです。次に、sttyを実行して設定を確認しました。

~# 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

これをハイパーターミナルで使用しようとすると、次の設定を想定します。

  • ビット/秒:115200
  • データビット:8(cs8のため)
  • パリティ:なし(-parenbのため)
  • ストップビット:1(-cstopbのため)
  • フロー制御:なし(-crtsctsおよび-ixonのため)

しかし、それはまだ機能していません。

2
Lucas

8ビット、パリティなし、1ストップビット、ソフトウェアフロー制御を試してください。これはから来ています:

「cs8」は8データビットを意味します。 「-crtscts」は、ハードウェアフロー制御がないことを意味します。 「ixon」はソフトフロー制御を意味します。 「-cstop」は1ストップビットを意味します。

2
David Schwartz