1

Linuxディストリビューションでusbserial経由でRxTxライブラリを使用しています。RxTx ライブラリは、シリアル経由での動作とは (悪い意味で) まったく異なる動作をしているようです。

私の最大の問題の 1 つは、RxTx SerialPortEvent.OUTPUT_BUFFER_EMPTYUSB シリアル経由で Linux で動作しないことです。

いつストリームに書き込む必要があるかを知るにはどうすればよいですか? 私が見逃した可能性のある指標はありますか?

これまでのところ、書き込みと読み取りを同時に行った経験はあまりありませんでした。DATA_AVAILABLEストリームへの書き込み中にハンドラーが呼び出されないようにロックする必要があるかどうかは誰にもわかりませんか? または、RxTx同時読み取り/書き込みを受け入れますか?

4

2 に答える 2

4

(少し本題からずれているかもしれませんが、ここまでです)

私はその特定のライブラリに精通していませんが、悲惨な経験 (私は RS-232 が頻繁に使用されるセキュリティ システム (ハードウェア セキュリティ デバイスなど) ビジネスで働いています) から、すべての USB-シリアル コンバータがそうではないことを保証できます。平等に生まれます。そのようなデバイスの多くは、すべての RS-232 ラインを適切にエミュレートするわけではなく、多くはフロー制御なしで通信を処理することさえできません。ライブラリのせいにする前に、ハードウェアが本来の動作を実際に行っていることを確認してください。

特定の製品やブランドを推奨するつもりはありませんが、私がここ数年で見つけた最高の (つまり、最もバグの少ない) USB シリアル コンバーターはUSA-19HSです。

于 2008-10-09T19:58:08.623 に答える
1

usb-to-serial 経由で RxTx を使用すると、notifyOnOutput を true に設定できません。そうしないと、完全にロックされます。

私はこれを難しい方法で学びました。この問題は、インターネット上のいくつかの Web サイトで文書化されています。

Linux で実行していますが、確認はできませんが、これは Linux のみの問題だと思います。

あなたが私にくれたリンクについては... SimpleReader と SimpleWriter の例を見てきましたが、これらは実際のアプリケーションを表していません。マルチスレッドではなく、読み取りをバッファリングする代わりに、読み取りに必要な完全なデータがあることを前提としています。

ありがとう、

ジーチ!

于 2008-09-22T14:00:54.590 に答える