Metaconta:
Hay mi cabeza. ¿Cómo que no se me ha ocurrido esto tan simple?
No eres el único que no ve la solución en algo que tiene a mano.
Metaconta:
Por cierto.
¿Cómo hago un contador de Bytes que se muestre en el LCD?
Si es para mostrar algo durante la trasferencia; antes de prepararse inicializas la pantalla con el siguiente mensaje:
void pantallaTransferencia(boolean grabar) {
lcd.home();
if (grabar) lcd.print(F("Grabando..."));
else lcd.print(F("Leyendo..."));
lcd.setCursor(0, 1);
lcd.print("Bytes: "); // Recuerda siempre el número mágico 7
}
Mencioné al 7 como número mágico porque para actualizar la cantidad de bytes transferidos en cada iteración, se debe realizar lo siguiente:
lcd.setCursor(7, 1); // ¿Ves para qué necesitamos recordar el número 7?
lcd.print(contador);
La idea de hacerlo así es para no tener que estar reescribiendo la cadena "Bytes: " cada vez que hay que actualizar el valor en pantalla.
Es dar una pizquita de rendimiento ya que el proceso de impresión e interacción con una LCD de caracteres tiene un costo computacional lo suficientemente sustancioso para ralentizar un poco el flujo.