3

注意:私が使用しているライブラリはJava Simple Serial Connectorと呼ばれていますが、この質問は、一般的なシリアル ポートに対する Java コーディングと、それに関連する戦略に関するものです。

Java ライブラリ (上記の JSSC) を使用して、シリアル ポートからデータを読み取ります。ライブラリでは、使用可能なすべてのバイトについてポートをポーリングする必要があります。しかし、これは私が心配しています.2つの異なるポーリング試行の間に、データが(シリアルデバイスから)ポートにストリーミングされ、おそらく「失われる」可能性があるためです.

ハードウェア層に、シリアルポートに着信するデータをバッファリングする何らかの種類のバッファリング/キャッシュメカニズムがない限り。その場合、ライブラリの API は理にかなっています。おそらく、バッファを調べて、その中にキューに入っているものをすべて読み取るからです。だから私は尋ねます:

  1. そのような「シリアルポートバッファ」はありますか? もしそうなら、それは何ですか?そうでない場合、シリアルポートの読み取りを「ロスレス」にするための戦略はありますか?
  2. そのようなバッファがある場合、どのように機能しますか? いっぱいになるとどうなりますか?
  3. 私が使用している Java lib は、シリアル ポート データをbyte[]'s;として読み取ります。ByteArrayInputStreamこれらからa を構築するのは理にかなっていbyte[]ますか? そうすることで、どんな利益が得られるでしょうか?
4

0 に答える 0