シリアルポート経由でデバイスと通信します。
InputStream を取得し、デバイスが送信するものを読み取ることができました。
しかし、問題は、いつ読むのをやめて別のタスクに進むべきかわからないことです。
簡略化されたコードは次のとおりです。
inputStream = serialPort.getInputStream();
try
{
int step = 0;
while ( (len = inputStream.read(buffer)) > -1 )
{
//do something
}
System.out.println("END");
}
catch ( IOException e )
{
throw new Exception("IO Error");
}
「END」にたどり着いたことは一度もありません。デバイスが何も送信しない場合でも、ループを続けます。デバイスが送信を停止したときにループを停止するにはどうすればよいですか。