特定のボーで `cat 'ファイルのファイルのファイルは?
-
16-09-2020 - |
質問
UCSIMを使用してSDCCプロジェクトの単位テストを行います。
UCSIM / S51では、
でシリアル回線トラフィックをシミュレートできます。s51 -s /dev/tty PROGRAM.ihx
.
または
s51 -S in=testdata.in,out=testdata.out PROGRAM.ihx
.
後者の形式では、データは直ちにシミュレータに送信され、これは多くのフレームを失います。したがって、PIPEを使用してPIPEを使用してテストデータを指定するのではなく:
s51 -S in=<(cat testdata.in),out=testdata.out PROGRAM.ihx
.
今、 `cat 'ユーティリティから出力ボーを制御できますか?または特定のレートでビットを出力するために使用できる別のユーティリティはありますか?
解決
回答1が正しくありません。誰もシリアル回線にファイルの内容を「フィード」しません。UCSIMが必要なときにファイルから読み取ります。ボーレートはタイマーとUARTのSFRによって制御されます。必要な目盛り数がシミュレートされると、ファイルから1バイトが読み取られます。
他のヒント
IN=ファイルをフィードするレートは、レートの設定方法ではありません。アプリケーションがシリアルポートを初期化して読み込む準備ができている場合、シミュレータはわかりません。シミュレータの初期化コードが実行される前にシミュレータがシミュレートされたシリアルポートをフィード化するため、おそらくデータが見つからない。
mkfifo
を使用してFIFOファイルを設定することです(そのマニュアルページを参照)、それをin=パラメータとして使用します。次に、シミュレートされたアプリケーションが起動して実行されている後に、FIFOファイルをデータでフィードします。
所属していません StackOverflow