Grazie a tutti per le risposte!
Si, il boud rate è lo stesso, 9600.
Un codice a stati è quello che ho provato a fare però quando ricevo il primo byte 55 devo ricevere subito dopo il secondo 78, non è che devo mettermi in attesa che venga trasmesso perchè sicuramente in altre stringhe potrebbe comprire. Sopratutto con il terzo byte che è uno 0. La cosa funziona se arrivano uno dietro l’altro 55 78 0 e a questo punto leggo il 4° che mi dice il comando. 55 78 0 0 è il comando tutto spento.
Mi scuso per l’esempio che ho postato con vari errori perchè nei vari tentativi che ho fatto provavo a cambiare le variabili da byte a char e i byte da 0x55 a 55 per vedere cosa cambiava nelle letture. Ho provato anche il Serial.read e il Serial.readBytes e tutto quello che ho trovato nelle varie discussioni attinenti del forum.
Quando dico che “perdo i pezzi” è perchè se stampo la variabile inbyte all’inizio del codice trovo le sequenze di byte che mi servono mentre quando vado a stampare l’array non trovo la sequenza che cerco.
Ora ho fatto una cosa più “scientifica” con il codice seguente ho fatto due prove. Prima ho stampato i byte ricevuti sulla serial2 poi ho stampato gli stessi byte ma dentro un array di 12 byte.
int i = 0;
byte inByte [12] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
void loop()
{
if (Serial2.available()>0)
{
for ( i=0; i<12 ; i++)
{
inByte [i] = Serial2.read ();
Serial.print ( inByte [i], HEX); // <--------- PRIMA PROVA
/* Serial.print ( inByte [0], HEX); // <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [1], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [2], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [3], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [4], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [5], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [6], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [7], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [8], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [9], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.print ( inByte [10], HEX); <--------- SECONDA PROVA
Serial.print (" ");
Serial.println ( inByte [11], HEX); <--------- SECONDA PROVA
*/
}
Questo il risultati della 1° prova. Li ho incolonnati io partendo dal 55:
55394004001010005F0
557800000000FFFFFF0
55B4FF0FFFFFFFFFFFF
55B1040003838084CA0
55394004001010005F0FF
55780080000007FFF0
55B4FF0FFFFFFFFFFFF
55B1040003838084CA0
55394004001010005F0FF
55780080000007FFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0FF
55780080000007FFF0
55B403000000FC0FFFF
55B1040003838084CA0
55394004001010005F0FF
55780080000007FFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FC0FFFF
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FC0FFFF
55B1040003838084CA0
55394004001010005F0
55780080000007FFFFF0
55B403000000FCFFFF0
55B1040003838084CA0
55394004001010005F0
55780080000007FFF0FF
55B403000000FCFFFF0
Questo il risultato della seconda prova:
B1 0 40 0 0 38 38 0 0 4F 0 55
B1 0 40 0 0 38 38 0 0 4F 0 55
B1 0 40 0 0 38 38 0 0 4F 0 55
39 0 40 0 0 38 38 0 0 4F 0 55
39 40 40 0 0 38 38 0 0 4F 0 55
39 40 0 0 0 38 38 0 0 4F 0 55
39 40 0 40 0 38 38 0 0 4F 0 55
39 40 0 40 0 38 38 0 0 4F 0 55
39 40 0 40 0 10 38 0 0 4F 0 55
39 40 0 40 0 10 10 0 0 4F 0 55
39 40 0 40 0 10 10 0 0 4F 0 55
39 40 0 40 0 10 10 0 0 4F 0 55
39 40 0 40 0 10 10 0 0 5F 0 55
39 40 0 40 0 10 10 0 0 5F 0 55
39 40 0 40 0 10 10 0 0 5F 0 55
78 40 0 40 0 10 10 0 0 5F 0 55
78 0 0 40 0 10 10 0 0 5F 0 55
78 0 0 40 0 10 10 0 0 5F 0 55
78 0 0 0 0 10 10 0 0 5F 0 55
78 0 0 0 0 10 10 0 0 5F 0 55
78 0 0 0 0 0 10 0 0 5F 0 55
78 0 0 0 0 0 0 0 0 5F 0 55
78 0 0 0 0 0 0 0 0 5F 0 55
78 0 0 0 0 0 0 0 0 5F 0 55
78 0 0 0 0 0 0 0 0 FF 0 55
78 0 0 0 0 0 0 0 0 FF 0 55
78 0 0 0 0 0 0 0 0 FF 0 55
B4 0 0 0 0 0 0 0 0 FF 0 55
B4 0 0 0 0 0 0 0 0 FF 0 55
B4 0 55 0 0 0 0 0 0 FF 0 55
B4 0 55 B1 0 0 0 0 0 FF 0 55
B4 0 55 B1 0 0 0 0 0 FF 0 55
B4 0 55 B1 0 40 0 0 0 FF 0 55
B4 0 55 B1 0 40 0 0 0 FF 0 55
B4 0 55 B1 0 40 0 0 0 FF 0 55
B4 0 55 B1 0 40 0 0 38 FF 0 55
B4 0 55 B1 0 40 0 0 38 38 0 55
B4 0 55 B1 0 40 0 0 38 38 0 55
B4 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 39 0 40 0 0 38 38 0 84
CA 0 55 39 40 40 0 0 38 38 0 84
CA 0 55 39 40 0 0 0 38 38 0 84
CA 0 55 39 40 0 40 0 38 38 0 84
CA 0 55 39 40 0 40 0 38 38 0 84
CA 0 55 39 40 0 40 0 10 38 0 84
CA 0 55 39 40 0 40 0 10 10 0 84
CA 0 55 39 40 0 40 0 10 10 0 84
CA 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 78 40 0 40 0 10 10 0 0
5F 0 55 78 0 0 40 0 10 10 0 0
5F 0 55 78 0 0 40 0 10 10 0 0
5F 0 55 78 0 0 80 0 10 10 0 0
5F 0 55 78 0 0 80 0 10 10 0 0
5F 0 55 78 0 0 80 0 0 10 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 B4 0 0 80 0 0 0 0 0
7F 0 55 B4 0 0 80 0 0 0 0 0
7F 0 55 B4 0 3 80 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
FC 0 55 B4 0 3 0 0 0 0 0 0
FC 0 55 B4 0 3 0 0 0 0 0 0
FC 0 55 B4 0 3 0 0 0 0 0 0
FC 0 55 B1 0 3 0 0 0 0 0 0
FC 0 55 B1 0 3 0 0 0 0 0 0
FC 0 55 B1 0 40 0 0 0 0 0 0
FC 0 55 B1 0 40 0 0 0 0 0 0
FC 0 55 B1 0 40 0 0 0 0 0 0
FC 0 55 B1 0 40 0 0 38 0 0 0
FC 0 55 B1 0 40 0 0 38 38 0 0
FC 0 55 B1 0 40 0 0 38 38 0 0
FC 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 B1 0 40 0 0 38 38 0 84
CA 0 55 39 0 40 0 0 38 38 0 84
CA 0 55 39 40 40 0 0 38 38 0 84
CA 0 55 39 40 0 0 0 38 38 0 84
CA 0 55 39 40 0 40 0 38 38 0 84
CA 0 55 39 40 0 40 0 38 38 0 84
CA 0 55 39 40 0 40 0 10 38 0 84
CA 0 55 39 40 0 40 0 10 10 0 84
CA 0 55 39 40 0 40 0 10 10 0 84
CA 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 39 40 0 40 0 10 10 0 0
5F 0 55 78 40 0 40 0 10 10 0 0
5F 0 55 78 0 0 40 0 10 10 0 0
5F 0 55 78 0 0 40 0 10 10 0 0
5F 0 55 78 0 0 80 0 10 10 0 0
5F 0 55 78 0 0 80 0 10 10 0 0
5F 0 55 78 0 0 80 0 0 10 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
5F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 78 0 0 80 0 0 0 0 0
7F 0 55 B4 0 0 80 0 0 0 0 0
7F 0 55 B4 0 0 80 0 0 0 0 0
7F 0 55 B4 0 3 80 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 0
7F 0 55 B4 0 3 0 0 0 0 0 40
0 0 55 B4 0 3 0 0 0 0 0 40
0 0 55 B4 0 3 0 0 0 0 0 40
0 0 0 B4 0 3 0 0 0 0 0 40
0 0 0 55 0 3 0 0 0 0 0 40
0 0 0 55 0 3 0 0 0 0 0 40
0 0 0 55 0 0 0 0 0 0 0 40
0 0 0 55 0 0 0 0 0 0 0 40
0 0 0 55 0 0 0 10 0 0 0 40
0 0 0 55 0 0 0 10 55 0 0 40
0 0 0 55 0 0 0 10 55 0 0 40
0 0 0 55 0 0 0 10 55 0 0 40
0 0 0 55 0 0 0 10 55 0 0 55
0 0 0 55 0 0 0 10 55 0 0 55
0 0 0 55 0 0 0 10 55 0 0 55
0 0 55 55 0 0 0 10 55 0 0 55
0 0 55 0 0 0 0 10 55 0 0 55
0 0 55 0 0 0 0 10 55 0 0 55
0 0 55 0 0 55 0 10 55 0 0 55
0 0 55 0 0 55 FC 10 55 0 0 55
0 0 55 0 0 55 FC 0 55 0 0 55
0 0 55 0 0 55 FC 0 0 0 0 55
0 0 55 0 0 55 FC 0 0 CA 0 55
0 0 55 0 0 55 FC 0 0 CA 0 55
0 0 55 0 0 55 FC 0 0 CA 0 0