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