"residuati bellici"

In questo modo non appena togli l'alimentazione e la rendi, il programma riformatta la EEPROM e tu perdi le regolazioni salvate :stuck_out_tongue:

Io ti ho detto come faccio. Ecco un esempio in concreto:

void controllaInizializzazione() {
    byte valore[5];
    int i;
    //leggo la EEPROM interna
    for (i=0; i<5; i++) {
        valore[i]=EEPROM.read(i+INDIRIZZO_EEPROM);
        delay(5);
    }
    //il dispositivo è stato inizializzato?
    if (valore[0]!=0xBA) { //no.
        valore[0]=0xBA; //codice di controllo
        valore[1]=highByte(410); //valore iniziale per il CO
        valore[2]=lowByte(410);
        valore[3]=highByte(210); //valore iniziale per il CH4
        valore[4]=lowByte(210);
        //li scrivo nella EEPROM
        for (i=0; i<5; i++) {
            EEPROM.write(i+INDIRIZZO_EEPROM, (byte)valore[i]);
            delay(5);
        }
    }
    //imposto le soglie di allarme
    maxCO=((valore[1]<<8) | valore[2]);
    maxCH4=((valore[3]<<8) | valore[4]);
}

In questo modo se non trovo il carattere di controllo, scrivo i dati di default, se lo trovo li carico.