Hola de nuevo:
Asunto solucionado, el problema lo tenía en la definición de las variable y su ámbito. Las variables "fotXseg" y "segVideo" las definía dos veces, una de forma general, al principio del programa, al declararlas y después lo hacía localmente dentro de las funciones donde introducía los datos desde el mando a distancia. Pongo a continuación la parte del código que varía, para que quede más claro lo que digo:
void Menu_FtgrmsXseg(){
do {
fotXseg = datoMando().toInt(); // Recogemos el valor de la función "datoMando" y la convertimos de string a Long.
lcd.setCursor(0,0);
lcd.print("Fotgrm/Seg: ");
lcd.print(fotXseg);
}
while (ircode != enter); // Si las tlclas pulsadas no son enter, seguimos ejecutando el do.
ircode = 0;
lcd.setCursor(0,1);
lcd.print(" ");
delay(3000);
Menu_DurVideo();
}
//-------------------------------------------------------------
void Menu_DurVideo(){
lcd.clear(); // Limpia la pantalla del LCD.
do {
segVideo = datoMando().toInt(); // Recogemos el valor de la función "datoMando" y la convertimos de string a Long.
lcd.setCursor(0,0);
lcd.print("Tiempo/Seg: ");
lcd.print(segVideo);
}
while (ircode != enter); // Si las tlclas pulsadas no son enter, seguimos ejecutando el do.
ircode = 0;
lcd.setCursor(0,1);
lcd.print(" ");
delay(3000);
MenuCamaraMotor();
}
Como se ve aquí no está el "long" que antes figuraba delante de la línea "fotXseg = datoMando().toInt(); // Recogemos el valor de la función "datoMando" y la convertimos de string a Long." y "segVideo = datoMando().toInt(); // Recogemos el valor de la función "datoMando" y la convertimos de string a Long.".
Ahora continuo con el programa y cuando lo tenga terminado o más avanzado, iré poniéndolo. Gracias por dedicar tiempo a leer este post.