0

Java プログラムが 1 つのシリアル ポートで正しく通信できません。実際、コンピュータには 2 つのシリアル ポートがあり、プログラムは 2 つのスレッドを管理します。各スレッドは、1 つの異なるシリアル ポートを使用しています。1 つのスレッドでポート経由の送信に問題があります。バイトは使用後ではなくOutputStream.write()java.io.OutputStream.flush()メソッドが使用された後に送信されます。そしてスレッドはメソッド上で 5 分から 10 分間「スタック」しflush()ます。他のスレッドも同じように動作していますが、まったく問題はありません。outputstreamインスタンスはgnu.io.CommPort.getOutputStream().

スレッドがすぐにバイトを送信しない理由flush()を知っている人はいますか?

4

1 に答える 1

0

私はついに問題の原因が何であるかを発見しました。シリアルポートに不具合がありました。交換しましたが、今は問題なく動作しています。

于 2013-10-10T19:07:51.093 に答える