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