私は2つのプログラムを持っています。1 つは C で書かれており、シリアル ポート経由で unsinged char の構造体を送信します。
もう 1 つは Java で記述されており、このデータを受け取ることになっています。
シリアル ポートから読み取った後にバイト配列を返す jSSC ライブラリを使用しています。元の値を抽出するにはどうすればよいですか?
送信内容: 1,99,23,15,16,17,18 バイト 受信: [B@c1c428 バイトを文字に変換: [C@13526b0
データの送信は正しく機能します。また、正しく受信したデータを読み取る C プログラムを作成したので、問題は Java プログラムにあるようです。
System.out.println("Port " + PortName + " opened: " + serialPort.openPort());
//serialPort.setParams(9600, 8, 1, 0);
byte[] input;
if((input = serialPort.readBytes()) == null){
System.out.println("No data to be read");
System.exit(0);
}
char[] chars = new String(input).toCharArray();
System.out.println("Bytes read: " + input.length);
System.out.println("Byteoutput: " + input);
System.out.println("Charoutput: " + chars);