java - Received Byte array not always correct -


i have arduino program sends via bluetooth byte array java program.

the java program receives data on jssc. array 72 bytes long (18 floats a´ 4byte). how jssc recognizes end of transmission, or know new byte array becomes available?

in cases, transfer correct. time time waste received.

i've found example here.

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

this if(event.geteventvalue() == 10) means linefeed, bytearray have no linefeeds.

arduino:

serial.write(bytearray, size of bytearray);

java:

    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 = 0, y = 0; < 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 ------------------------------------------------------------ 

can me?

best regards willi

p.s. first question in forum. have followed rules.


Comments