web-dev-qa-db-ja.com

キーエミュレーションCR + LF自動モードで画面をシリアル端末として使用する方法

Screenをシリアル端末として使いたいのですが、出力がうまくフォーマットされていません。私はこのコマンドを使用します:

Sudo screen /dev/ttyACM0 9600,cs8

上記の構成は、パリティもフロー制御構成もない9600 8N1のようなものだと考えて、次の出力を取得しました。

This program runs since 135 seconds.
                                                This program runs since 136 seconds.
                                                                                    This program runs since 137 seconds.
                    This program runs since 138 seconds.
                                                        This program runs since 139 seconds.
                                                                                            This program runs since 140 seconds.
                                This program runs since 141 seconds.

QTKTermでは、構成メニューでCR LF auto modeを設定するまで、同じ結果が得られます。

This program runs since 759 seconds.
This program runs since 760 seconds.
This program runs since 761 seconds.

画面に同じ結果を表示するにはどうすればよいですか?

ご協力いただきありがとうございます。

2
dubis

screen マニュアルによると、 WINDOW TYPES

Tty(文字特殊デバイス)名(例:"/dev/ttya")が最初のパラメーターとして指定されている場合、ウィンドウはこのデバイスに直接接続されます。このウィンドウタイプは"screen cu -l /dev/ttya"に似ています。デバイスノードでは読み取りおよび書き込みアクセスが必要です。接続回線をビジーとしてマークするために、ノードで排他的オープンが試行されます。 ‘ stty(1) ’で使用される表記のフラグのコンマ区切りリストで構成されるオプションのパラメータを使用できます。

可能なフラグのいくつかをリストしますが、追加します

これらのオプションをできるだけ多く指定することをお勧めします。オプションが指定されていない場合、ターミナルドライバは接続のパラメータ値を構成します。これらの値はシステムに依存し、デフォルトまたは以前の接続から保存された値である可能性があります。

sttyは単にこれらの追加フラグをscreenに渡すため、詳細情報を探す場所は stty マニュアルにあります。

あなたの質問が最もよく似ている不正行為は、「出力設定」の下にリストされているonlcrフラグを追加することで修正できます。

[-]onlcr
改行をキャリッジリターンに変換-改行

例えば:

Sudo screen /dev/ttyACM0 9600,cs8,onlcr
3
Thomas Dickey