Originariamente inviato da Maxton
ma per esempio il valore 128 o superiori non vengono codificati correttamente
Che tradotto, significa?

Inoltre, quando invio un array di char alla centralina, il java aggiunge sempre 2 caratteri finali, che tradotti sarebbero '\n' e '\r', c'è modo per non inviarli?
Quello è il terminatore di linea utilizzato dai sistemi Windows. Semplicemente, invece di usare la versione "ln" dei metodi usa quella che non aggiunge il terminatore di linea. Ma senza sapere in che modo effettui l'invio è dura darti consigli. Supponendo che tu usi un PrintWriter:

codice:
PrintWriter pw = ...;

// Tu probabilmente usi questo metodo:
pw.println( dati );

// Invece dovresti usare questo:
pw.print( dati );
pw.flush();
Ciao.