2

我有一个 Arduino 程序,它通过蓝牙向 Java 程序发送一个字节数组。

Java 程序在 JSSC 上接收数据。该数组长 72 个字节(18 个浮点数为 4 个字节)。JSSC 如何识别传输结束,或者知道有一个新的字节数组可用?

在大多数情况下,转移是正确的。但时不时会收到垃圾。

我在这里找到了这个例子。

http://www.javaprogrammingforums.com/java-se-api-tutorials/5603-jssc-library-easy-work-serial-ports.html

这 if(event.getEventValue() == 10) 表示换行,但 bytearray 没有换行。

阿杜诺:

Serial.write(字节数组,字节数组的大小);

爪哇:

    class SerialPortReader implements SerialPortEventListener {

    public void serialEvent(SerialPortEvent event) {
        int dataNumber = 0;           
        try {             
            if(event.isRXCHAR()){
                if(event.getEventValue() >= BYTE_NUMBER){
                    receivedByte = usbPort.readBytes(BYTE_NUMBER);

                    if(receivedByte != null) {
                        isRequestOK = true;       
                        byte[] myArray = new byte[FLOATSIZE];

                        for(int i = 0, y = 0; i < receivedByte.length; i++, y++) {  //i < receivedByte.length-1
                            if(myArray == null) {
                                y = 0;
                                myArray = new byte[FLOATSIZE];
                            }
                            if((i + 1) % FLOATSIZE != 0) {
                                myArray[y] = receivedByte[i];
                            } 
                            else {
                                myArray[y] = receivedByte[i];               
                                receivedValue[dataNumber] = ByteBuffer.wrap(myArray).order(ByteOrder.LITTLE_ENDIAN).getFloat();
                                myArray = null;                                 
                                dataNumber++;  
                            }
                        }                         
                    }
                }                          
            }                
        } catch (SerialPortException e) { }    ///InvocationTargetException oder NullPointerException  
    }//--------------------------- End of serialEvent ------------------------------------------------------------- 
}//--------------------------- End of SerialPortReader ------------------------------------------------------------

有谁能够帮我?

最好的问候威利

PS这是我在这个论坛的第一个问题。希望我遵守了规则。

4

0 回答 0