Buenas:
Estoy intentando guardar un array que se llama ALFANUMERCO en la EERPOM de Arduino UNO.
Pasa 5 segundos.
Lee la EEPROM dicho array.
Muestra el array en el Monitor Serie de Arduino IDE.
A parte de todo esto. No entiendo el motivo de estos caracteres raros que salen sin parar y no tengo ningún bucle ni nada, no se detiene.

Dejo el código aquí.
#include <LiquidCrystal.h>
#include <EEPROM.h>
//#define pinLed10 10 // Luz de fondo.
// Inicializa la librería con sus pines indicados.
// RS, RW, Enable, D4, D5, D6, D7.
LiquidCrystal lcd(8, NULL, 9, 4, 5, 6, 7);
// LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Abreviado.
// Pin 10 para saber que es luz de fondo del LCD.
//int LuzFondo = 10;
// Variables.
String guardarNombre = ""; // Guardar nombre escrito.
int coordenadaX = 0; // Coordenada X del setCursorPisition.
int index = 0; // Índice.
// Caracteres de este array.
const unsigned char PROGMEM ALFANUMERICO[] =
{
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ',', '-', '_', ':', ';',
'¿', '?', '(', ')', '[', ']', '{', '}', '=', '
El código en grande, porque voy a guardar las demás variables en diferentes zonas de memoria de la EEPROM para practicar.
Saludos.
, '&', '"', ' '
};
// Dirección del carácter del array. El 80 presenta al espacio ' ' del array roALFANUMERICO.
const int INDICE_ARRAY[] PROGMEM =
{
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
};
// Palabras del array para imprimir en pantalla.
const String TEXTO[] = { "ATRÁS", "GUARDAR" };
int direccion = 0; // Ubicación donde queremos que se coloquen los datos.
unsigned long tiempo = 0;
String leerEEPROM;
void setup()
{
// La pantalla es de 16 caracteres y 2 filas.
lcd.begin(16, 2);
lcd.print(F(" Probando..."));
// Baudios del puerto serie.
Serial.begin(115200);
tiempo = millis();
// Espere a que se conecte el puerto serie. Necesario USB nativo.
while (!Serial);
// Envía un OK al puerto serie avisando que se detecto la conexión.
Serial.println(F("OK"));
// Indicar luz de fondo como salida.
// pinMode(LuzFondo, OUTPUT);
Serial.println(guardarNombre);
Serial.println(coordenadaX);
Serial.println(index);
// Muestra todos los caracteres del array
for (int i = 0; i < 80; i++)
{
Serial.write(pgm_read_byte(&ALFANUMERICO[i]));
Serial.println();
}
// Muestra todos los caracteres del array
for (int j = 0; j < 16; j++)
{
Serial.println(pgm_read_byte(&INDICE_ARRAY[j]));
}
// Muestra todos los caracteres del array
for (int k = 0; k < 2; k++)
{
Serial.println(TEXTO[k]);
}
// Una simple llamada, con la dirección primero y el objeto segundo.
EEPROM.put(direccion, ALFANUMERICO);
tiempo = (millis() / 5000); // 5 segundos.
EEPROM.get(direccion, leerEEPROM);
// Muestra todos los caracteres del array
for (int k = 0; k < 16; k++)
{
Serial.println(leerEEPROM);
}
}
void loop()
{
}
El código en grande, porque voy a guardar las demás variables en diferentes zonas de memoria de la EEPROM para practicar.
Saludos.

