2017-05-12 10 views
4

私はsocatを使って仮想シリアルポートを作成しています。Socat擬似端末:データ回線(DTR、RTSなど)を利用できますか?

socat -d -d pty,echo=0,raw pty,echo=0,raw 

これまでのところ期待どおりに動作します。 echo/catを使ってテキストなどを送受信することができます。
DTRやRTSのような信号線はどうですか?これらの行の状態をptyで取得/設定するにはどうすればよいですか?それも可能ですか?私はそれについてどこにも何の言及も見つけられませんでした。

答えて

1

socatはパイプハンドラです。基本的には、データが準備完了/受信時にシグナリングを気にせずに、TxとRxの "行"をタップできます。

RTS/CTS/DSR/DTRは、Tx/Rx回線で行われていることを制御するシリアルコネクタの実際のピンです。私の頭の上オフ

9 pin serial connector

、私はsocatに関するを使用したり類似した何かをしようとしていませんが、私が得た可能な限り低いレベルは、EMVインタフェースとプロトコルとマシン間の実際に素早く、時々私もnetcatをものでしたとにかく、socat(別のマシンや同じマシン上のアプリケーション)で2つのエンティティを接続しようとすると、同じパイプを使い、いくつかの制御文字が同時に話をするようになりました(これを書き留めて、どうにか私の妻とそれを実装しようとしました)か、Rx用とTx用の2つの別々のパイプを使います。エンティティ2のRxに、エンティティ2のTxがエンティティ1のRxに入る。

+0

まあを見つけ、私は基本的にプロキシを作成しようとしています。 'pty <-> application <-> serial port <-> device'そして私が通信しているデバイスは、100ミリ秒間、rtsを1に設定することによって 'ハードリセットを行う'のようなコマンドを受け取るために信号線を使用します。私はこれらを手動で制御する方法が必要です。 – Forivin

+0

実際にデバイスをシリアルポートに接続していますか?それが事実なら、私はなぜあなたがsocatを使用しているのか分かりません。多分あなたはプロトコルを叩いてみようとしていますか? –

関連する問題