Xbee standalone

Ciao, mi sto perdendo in un bicchier d’acqua:
devo salvare una serie di byte che mi vengono inviati da un Xbee standalone che legge un ingresso digitale ( o più in futuro) per poi poterli confrontare con determinate condizioni.
Che funzione devo usare??
Ecco lo sketch:

void setup()
{
  Serial.begin(9600);
}
void loop()
{
  if (Serial.available()>=21){
    for(int i=0;i<22;i++){
      Serial.print(Serial.read(),HEX);
      Serial.print(",");
         }
         Serial.println();
  }
 
}

Quello che qua stampo, lo vorrei mentenere da qualche parte per fare dei confronti.
Grazie 1000 !

… vedo che ricevi 21 bytes che visualizzi con la for(int i=0;i<22;i++) {…} … quindi, basta che ti dichiari un array di bytes e nella for oltre a stamparli li salvi. Ovviamnete la lettura NON la devi fare nel Serial.print(), ma fuori così da poter avere il singolo byte …

byte lettura;
byte salvataggio[21];
...
...
  lettura = Serial.read();
  Serial.print(lettura,HEX);
  salvataggio[i] = lettura;
...
...

Naturalmente dimensiona bene l’array per il massimo numero di bytes che devi salvare :wink:
Guglielmo

Grazie delle dirtte Guglielmo, appena ho un secondo provo a scrivere il codice. Un'altra domanda: ma un array è confrontabile con una data condizione. tipo array [a,b,c,d,e,f]

if ( array == abcdef ){ .....

Si può fare una cosa del genere? Grazie

NO, trovi sono delle funzioni nella AVR libc per fare alcune operazioni e confronti con gli array (… ricorda che la AVR libc è sempre disponibile anche nell’IDE … quindi … meglio imparare ad usarla :wink: )

Guarda le funzioni nella <string.h> :wink:

Guglielmo