Arduino - xbee series 2

No entiendo esto

 if (Xbee.available()>21){
    Data=Xbee.read();
    if (Data=='A'){
      digitalWrite(LED_BUILTIN, HIGH);
      Router();
      delay(150);
      Dato_Xbee();
    }

Entiendo que esperas 'A' pero al hacerlo envias Router() y luego vuelves a leer el puerto? Raro. Lo veo algo desordenado.
La lectura de datos debe ser unica, me refiero a concentrar las posibles llegadas de datos que tengan un comando inicial como 'A' por ejemplo y todo lo que llegue a continuación pero en tu caso tiense 'A' y luego tienes 0x7E.