Introducir datos con mando infrarrojos

Hola nuevamente,

Voy a poner un esquema del conexionado para que quede más claro.

No consigo poner una imagen grande, pero dejo el enlace para verla http://www.subirimagenes.com/privadas-intervalmetro002-2201290.html
Respecto del fallo, creo que está en el bucle "do - while":

void Menu_FtgrmsXseg(){
  lcd.clear();  // Limpia la pantalla del LCD.
  do  {
  long fotXseg = datoMando().toInt();  // Recogemos el valor de la función "datoMando".
      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();
}

Cuando pulsamos la tecla enter del mando, es como introducir un dato nuevo, y aunque en el display no lo muestra, la variable "fotXseg" pasa a valer cero. No se como hacer para guardar el valor antes de pulsar enter, pues es con esta tecla con la que hay que validarlo. Si alguien tiene una idea, agradeceré cualquier sugerencia. Gracias.