私は限られたunixツールを持つ2台の小さなマシンで作業しています。両者はシリアルで相互に接続されています。バイナリデータを転送しているので、デバイスはraw
モードです。送信側のマシンから別のマシンにファイルが送信され、その間にX ms(パラメータとして指定)の遅延があります。どのくらいのファイルが来るのかを特定するために、宛先マシン上の遅延を測定することが可能かどうかを知りたいと思います。今まで私はcat < /dev/ttyS5
を使っていましたが、これは私の目的にとっては選択肢ではありません。シリアルポートunixでデータが到着しないときを知る方法
おかげ
Atmel USARTには受信機のタイムアウトを検出するためのハードウェアが追加されています。しかし、一般的には、特にユーザー空間からは、文字の「到着」時間を正確に測定することはできません。文字間の遅延を測定しようとするのは愚かなことです。 「次の」キャラクターが決して到着しない場合、あなたはどのようにこのケースを扱いますか?また、あなたはXY質問をしています。データグラム/パケットのデータを識別するための適切なメッセージプロトコルがあり、データの完全性を保証する場合は、入手不可能な測定値に依存する必要はありません。 – sawdust
私はなぜ人々がなぜそれを好きなのかというより、私がどのようにして行うのか、質問するのではなく、質問に固執していないのだろうかと疑問に思います。 – Lomezno