web-dev-qa-db-ja.com

databit、parityなどのさまざまなオプションを使用して/ dev / ttyUSB0を画面表示します。

使用しようとしています

画面/ dev/ttyUSB0

uSBシリアルインターフェイスを介して古いコンピュータに接続します。

このサイトに登録すると、私の質問に対する回答が得られることを願っています。私は検索して検索しましたが、コンピューターから意味不明なフィードバックを得るためにコマンドラインに正しいオプションを配置する方法を理解していません(受け取ったテキストはすべて混乱しています)。

私のオペレーティングシステムはCentOs、Gnome 2.16.0です。 「ターミナル...」というKPPPと呼ばれるプログラムがあるようですが、それもわかりません。したがって、「screen」でCLIを使用しようとしていますが、正しいパラメーターの設定に問題があります(明らかに、これらのパラメーターをsttyで使用する方法を理解していません)。これは、アプリケーションをインストールしたり、このコンピューターで何かを実行したりするオプションではないため、すでにそこにあるものを使用する必要があります。 'screen'でうまくいくようですが、受け取ったテキストは前述のように意味不明です( "$$ @%idj ldj"など)。

コンピューター1にこれらのパラメーターが必要です。

ボー:9600データビット:8パリティ:ストップビットなし:2フロー制御:ハードウェア。

私が必要とするコンピューター2の場合:

ボー:9600データビット:7パリティ:偶数ストップビット:1フロー制御:ハードウェア

ボーレートは簡単です。

画面/ dev/ttyUSB0 9600

しかし、残りをどうするか、私にはわかりません。 。ストップビットのオプションを見つけました。

cstopb(2つのストップビットを使用)

-cstopb(1つのストップビットを使用)

しかし、どうすれば正しく使用できますか?

screen/dev/ttyUSB0 9600 -cstopb

または

画面/ dev/ttyUSB0 9600、-cstopb

したがって、リストされているすべてのパラメーターを使用して、シリアルインターフェイスを介して他のコンピューターに接続するのを手伝ってくれる人がいれば、私は非常に感謝しています!

2016年12月22日更新:

Sttyのこのマニュアルを見つけました: http://osr507doc.sco.com/man/html.C/stty.C.html

Databitはこのオプションと同じですか?

   cs5 cs6 cs7 cs8
        Select character size (see termio(M)). 

パリティ:

   parodd (-parodd)
         Select odd (even) parity. 

ストップビット:

   cstopb (-cstopb)
         Use two (one) stop bits per character. 

しかし、ハードウェア制御はどうですか?

いずれかの方法;これはまだ機能していません。

screen /dev/ttyUSB0 9600 cs8 oddp cstop 

または

   screen /dev/ttyUSB0 9600 cs7 evenp -cstop

Screenがこれらすべての異なるシリアルポート設定をサポートしているとは思いません。最も基本的なパラメータのみがサポートされています。 sttyのマニュアルを見れば正しい方向に進んでいますが、sttyを画面とは別のツールとして使用する必要があります。最初にシリアルポートを設定し、次に画面を使用してそれに接続します。

コンピューター1のシリアルポートを構成するには:

# stty - change and print terminal line settings
#
#    -F /dev/ttyUSB0      Change the settings of /dev/ttyUSB0
#    cs8                  Use 8 character bits
#    -parenb              Don't use a parity bit (the '-' means 'disable')
#    crtscts              Enable RTS/CTS handshaking (hardware flow control)
stty -F /dev/ttyUSB0 cs8 -parenb cstopb crtscts

ポートを設定したら、画面からポートを使い始めることができます。

# screen - screen manager with VT100/ANSI terminal emulation
#
#    /dev/ttyUSB0         Use /dev/ttyUSB0 as terminal
#    9600                 Open the serial port using 9600 baud
screen /dev/ttyUSB0 9600

同じことが2台目のコンピュータにも当てはまります。

# stty - change and print terminal line settings
#
#    -F /dev/ttyUSB0      Change the settings of /dev/ttyUSB0
#    cs7                  Use 7 character bits
#    parenb               Enable the a parity bit
#    -parodd              Don't use ODD, but use EVEN parity
#    -cstopb              Don't use 2 stopbits, but just the regular 1
#    crtscts              Enable RTS/CTS handshaking (hardware flow control)
stty -F /dev/ttyUSB0 cs7 parenb -parodd -cstopb crtscts

次に、画面@ 9600ボーを起動します。

# screen - screen manager with VT100/ANSI terminal emulation
#
#    /dev/ttyUSB0         Use /dev/ttyUSB0 as terminal
#    9600                 Open the serial port using 9600 baud
screen /dev/ttyUSB0 9600

これでうまくいくはずです。 sttyを使用すると、さらに多くの構成オプションを見つけることができます。

stty --help
5

オプション間のカンマが必要です!

有効にする RTS/CTS flow control以下を使用します。

screen /dev/ttyS0 9600,crtscts

注:すべてのUSBがRS232コンバーターは、ハードウェアフロー制御を実装します!

1
Gábor

Minicomの詳細な手順と使用法については、この投稿をお読みください https://www.cyberciti.biz/tips/connect-soekris-single-board-computer-using-minicom.html

Minicomは、シリアルポート通信のgtktermおよび業界標準に似ています。

1
Hercules dd