Bueno, pues por si le pasa a alguien el problema es este if:
if (leerGS == 1) {
leerGS = 0;
// Serial.println("LECTURA SERIAL:");
// Serial.println(tmpl[1]);
for (i = 1;i < 33; i++) {
GS[i] = tmpl[i];
}
i = 0;
}
pero no se porque. Está declarado el GS de igual modo que tmpl, pero con tmpl no tengo ningún problema así que no hago la transición y funciona.
A ver si alguien me puede explicar porque falla con GS.
Un saludo.