RXTX-2.1-7 を使用しており、Windows で COM ポートを読み取ろうとしています。PuTTY を使用して受信したデータと比較して、受信したデータにいくつかの不一致が見られます。
PuTTY で受信したデータ:
a5 5a 0b 05 10 00 00 00 00 27 d4 73 30 ae
しかし、RXTX を使用して受信したまったく同じデータ:
3f 5a 0b 0510 00 00 00 00 27 3f 73 30 3f
少なくとも より大きい受信バイトはすべてa0
として読み取られるよう3f
です。これが私が使用しているコードの関連部分です
char[] buffer = new char[14];
int i=0;
Arrays.fill(buffer,(char)0);
while (i<14)
{
buffer[i++] = (char)charReader.read(); /*DOUBT*/
}
/*System.out.println(Arrays.toString(buffer));*/
String bufferString = new String(buffer);
System.out.println(String.format("%x ", new BigInteger(bufferString.getBytes("ISO-8859-1"))));
そしてcharReader
、InputStreamReader
開かれたシリアルポートのです。(char)
また、マークされた行の型キャストが原因であるかどうかを確認しました/*DOUBT*/
が、キャストのないコードでも一貫性がありません。
65533, 90, 11, 5, 16, 0, 0, 0, 0, 39, 65533, 115, 48, 65533
この不一致が発生する理由は何ですか?