Hola buen dia a todo aquel personal que pueda ayudarme en este gran problema que tengo.
Estoy mandando una cadena de aproximandamente 80 bytes con xbee API FRAME el arduino me recibe 78 por conversion de la misma API.
pero solo alcanza a leer 63 y no se porque:
CODIGO de lectura:
void serialEvent2(){
while (Serial2.available()){
frameReceived[n] = Serial2.read();
Serial.print(" ");
Serial.print(frameReceived[n], HEX);
n++;
//Serial.print("\t" + String(n));
/* if (n == (frameReceived[1]+frameReceived[2]) + 4){
Serial.println();
Serial.println((frameReceived[1]+frameReceived[2])+4);
Serial.println("IF");
}*/
if ( n == 3 ){
lfr = frameReceived[2] + 4;
}
if (n == lfr){
receivedDone = true;
Serial.println();
Serial.print("[INFO] N: ");
Serial.println(n);
Serial.print("[INFO] LFR: ");
Serial.println(lfr);
}
if (receivedDone){
clearValuesToReceiveFrame();
processFrame();
receivedDone = false;
}
}
Serial.println();
Serial.println("[While]n:");
Serial.println(n);
Serial.println("[While]LFR: ");
Serial.println(lfr);
n=0;
lfr=0;
}
Esta parte nunca coincide:
if ( n == 3 ){
lfr = frameReceived[2] + 4;
}
if (n == lfr){
receivedDone = true;
Serial.println();
Serial.print("[INFO] N: ");
Serial.println(n);
Serial.print("[INFO] LFR: ");
Serial.println(lfr);
}
pero solo para las cadenas mayores a 63 bytes, las cadenas cortas las lee sin ningun problema.
Alguien sabe si hay alguna restriccion con el serialEvent o algo asi que solo me lee 63 bytes?