使用Java从串口接收C结构

时间:2012-10-09 19:35:23

标签: java c struct serial-port

我有两个节目。一个是用C语言编写的,通过串口发送未结构字符的结构。

另一个是用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);

1 个答案:

答案 0 :(得分:0)

为了实际输出一个字节数组,你需要做类似的事情:

System.out.print("Byte output: ");
for(int i=0; i < input.length; ++i)
    System.out.print(((int)input[i]) + ", ");

System.out.println();