Reading Serial Data into a byte array results in invalid data being received

This looks wrong to me:

for (count=0; count<Serial.available(); count++)
{
  serData[count]=Serial.read();
}

because Serial.available() will change as you read() bytes.

I'd write it like this:

count = 0;
while (Serial.available() > 0) {
    serData[count]=Serial.read();
    count++;
}

but wait! You're testing Serial.available() and then read() from Serial1 ? :fearful: