私の特定の質問に答えるか、私がやろうとしていることを完全に達成するためのより良い方法があるかどうかを教えてくれてありがとう.
具体的な質問から始めます。
/dev/ttyp0 への書き込みと読み取りを行うシリアル プログラムがあり、実行すると
cat -v /dev/ptyp0
プログラムの実行時に出力される ASCII 文字を確認できます。素晴らしい、まさに私が欲しかったもの。
しかし今、私はそれらの文字を表示し、それを別のデバイス(シリアルポート - USB - シリアルアダプタ経由)に接続したいと考えています。
走ればうまくいくと思っていた
cat -v /dev/ptyp0 | tee /dev/tty.USA19H62P1.1
しかし、その結果は、画面にもデバイスにも出力されません。ティーを正しく使用していることを確認するために、ファイルにティーオフしてみようと思いました。
cat -v /dev/ptyp0 | tee file.txt
しかし、まだ何もありません。空の file.txt、画面上の空のターミナル。私は何を間違っていますか?ところで、OSX 10.8.4 を実行しています。
ここに私がやっていることの境界図があります: Mac OS 7.5.3 を実行している Macintosh マシンをエミュレートするエミュレーター プログラム (Basilisk II) があります。RS-232 経由で古いオーディオ マルチエフェクト ユニットであるハードウェア デバイスと通信するための専用プログラムを取得しようとしています。動作しますが、信頼性は低く、タイミングの問題によるものだと感じています。つまり、古い Mac ソフトウェアでは、デバイスに ping を実行するときのタイムアウトの長さが非常に短く、USB を介したエミュレータ ソフトウェアを介したプログラム間の遅延が原因です。シリアル デバイスを使用すると、他のさまざまな要因に応じて、プログラムが繰り返しタイムアウトするか、時間の 10% 程度でタイムアウトします。ソフトウェアとハードウェアユニット間の通信に関する洞察を得るために、シリアル通信をスヌープしようとしています。そして、疑似端末を使用して通信を送信し、それをオフにして、画面で表示できるようにするのが最も論理的だと思われます。すべての通信は ASCII 文字であり、どの文字シーケンスがどのコマンドに対応しているか、およびユニットの応答がどうあるべきかを説明した、分厚いマニュアルがあります。
これについてもっと良い方法はありますか?