Hola Surbyte,
mil gracias por tu respuesta.
Realmente el código es muy largo (1,185 líneas). por eso tomé sólo la parte en la que estoy teniendo problemas.
Logré solucionar el problema un poco picapiedra. Al leer el código filtro caracteres CR y LF (ASCII 10 y 13) así:
char c;
int i=0;
while (BT.available()) // Mientras haya datos por recibir
{ c = BT.read();
if(c != '#'){
if(c != 13 && c != 10){
molde[i]+=c;
i++;
}
}
}
len = i;
El código a leer termina en "#". Lo hice para no leer de pronto algo más que no me interesa.
Voy a ensayar lo que me dices, pues realmente no lo conocía y de pronto logro hacer algo más limpio.
De nuevo mil gracias.