Ricevere dati da seriale e crearne una stringa

Ciao a tutti,
sto cercando di ricevere dati da un Xbee standalone con un pulsante collegato ad un digital input che invia a un Arduino Uno collegato al pc:

usando questo sketch ricevo tutti i dati che mi aspetto dall’Xbee standalone:

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
if (Serial.available() > 21) {
  if(Serial.read() == 0x7E) {
    Serial.print("7E,");
  for (int i=0; i<21; i++) {
    Serial.print(Serial.read(), HEX);
    Serial.print(",");
    }
    Serial.println();
    }
    }
}

invece quando uso lo sketch per raccoglierli in una stringa e poi stamparli con serial.Print non vedo niente stampato. Lo sketch è questo:

//Sketch con xbee in API mode che riceve i valori da router in sleep e li ordina in una stringa stampandola sulla seriale

String inputString;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available() > 0) {
    if (Serial.read() == 0x7E) {
      char ric_ext = Serial.read();
                     inputString += ric_ext; // Componi una stringa con tutti i caratteri fino a quando...
      if (ric_ext == 0xCA) {  // ...non riceve il carattere di fine trasmissione!
        Serial.println(inputString);
        inputString = "";


      }

    }
  }

}

0x7E e 0xCA sono rispettivamente il primo e l’ultimo carattere che vengono inviati.
Grazie per l’aiuto.

gazza_mo: Oppure come potrei fare per ricevere tutte le informazioni inviate da un Xbee standalone, metterle in un qualche contenitore e poi andare a verificare solo i bytes che mi interessano? Un array ?

Nulla di meglio di un circular buffer

Scusate ho cancellato per errore il mio post precedente a cui Roberto ha risposto. Roberto saprsti indicami un esempio di Arduino da studiare per poi adattarlo alla mia situazione?

In pratica vorrei ricevere input digitali da più Xbee standalone, ma devo trovare un metodo per capire chi è che sta inviando, lo status del pin digitale e poi con degli if fare fare certe cose allo sketch... se avessi un solo Xbee sarebbe facile ma con più di uno non so come fare.