LinuxでUSBシリアルデバイスと通信するためにJSSCライブラリを使用してJavaプログラムを作成しましたが、通信しようとするといくつかの問題が発生しました。
- ポートにデータを書き込もうとしたときに、シリアル デバイスがデータを読み込めなかったのに、私の Java プログラムが書き込みが成功したことを示している場合があります。
- 最初にポートに書き込む前に、ガベージ データをチェックし、利用可能な場合はそれらを読み取り、パージも行います。しかし、プログラムは書き込み前にガベージデータを検出しませんでしたが、書き込み後、デバイスの応答(読み取り)を待ってから、プログラムによって読み取られたガベージデータが検出されました。
これは、ポートに書き込むための私のコード スニペットです。
serialPort.readBytes(); //for check garbage data
//purge the port
serialPort.purgePort(PURGE_RXCLEAR );
serialPort.purgePort(PURGE_TXCLEAR);
serialPort.purgePort(PURGE_RXABORT);
serialPort.purgePort(PURGE_TXABORT);
//write to port
serialPort.writeString(s);
System.out.println("Write: "+s);
return true;
少なくとも上記の問題を解決するのを手伝ってください。