perrociego:
Hola:Yo le veo dos cosas, pero no se si es ese el error.
1 - valor = Serial.parseInt(); es un Int (16 bits con signo) , y no uint32_t
2 - en EEPROM.write(address, value) address también es Int (16 bits con signo) , y no uint32_t.Respecto al primero porque no probas de sacar la parte de introducir por Serial el numero y directamente lo fijas en el código (algo como valor = 0x12345678 ) para ver que pasa.
Saludos.
Ya tengo el por qué.
Era tan simple como que en EEPROMReadBits a "tercero" y "cuarto" les había asignado el tipo uint8_t cuando debían ser uint32_t, sino es imposible desplazar sobre ellos más de 16 bits (totalmente lógico).
Gracias!