Introducir datos con mando infrarrojos

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.