(私の下手な英語で申し訳ありません)。
今日、ポートから別のポートにすべてのデータをリダイレクトしたいと思います。(socat や netcat と同様ですが、これらのツールはライセンスのために使用できません)。
私のデータは未定義であり (開始ビットまたは停止ビットではありません)、長さが異なります。
- イーサネットポートからイーサネットポートへは簡単です(イーサネットヘッダーがあります)。
- イーサネットポートからシリアルポートへも簡単です(フレームの開始と終了を知るためのイーサネットヘッダーがあるため、データをカットしてシリアルポートにデータを送信します)。
しかし、私の問題はシリアルポートからイーサネットポートへです。ヘッダーがない場合、シリアル ポートから完全なフレームをいつ受信したかを知るにはどうすればよいですか? イーサネット ポートでデータをリダイレクトする前に、すべてのデータを受信する必要があり、イーサネット フレームで変換した後にのみ行う必要があるため、同意しますか?
私はこの解決策について考えました:2つのシリアルデータバイト間の時間がフレーム間遅延よりも短く、データが同じフレームにあり、フレームを変換する前に次のデータを待つ場合、フレーム間遅延を定義できますイーサネット フレーム。