Corruzione EEPROM.


salve tutti, sono nuovo del forum e spero di fare tutto nel modo più corretto e nel rispetto di tutti.
il mio problema come da oggetto è la corruzione della memoria eeprom.
mi spiego meglio; ho sviluppato un software che fa uso di dati salvati in eeprom, dati che vengono letti all'accensione di arduino e assegnati delle variabili; premetto che ho realizzato un apposito pcb che permette di interfacciare arduino con un complesso circuito elettronico.
fin qui tutto bene, il dispositivo funziona correttamente. il guaio si presenta in maniera del tutto casuale. succede infatti dati in eeprom vengono in qualche modo corrotti e quindi interpretati in modo errato dal software.

allora ho scaricato il datasheet  dell'atmega2560 (utilizzo un arduino mega) e ho scoperto che esiste un paragrafo dedicato alla corruzione della eeprom ("preventing eeprom corruption" pagina 25).
ho capito che ci sono due motivi per il quale la eeprom si può corrompere:

1) la tensione di alimentazione è troppo bassa e allora in fase di scrittura arduino scrive dati errati
2) la tensione di alimentazione è troppo bassa e allora arduino interpreta male le istruzioni del software andando addirittura scrivere in eeprom quando in realtà non dovrebbe farlo.

il datasheet suggerisce tal proposito di attivare il brown-out detector ma io non saprei come fare.
cercando in internet inoltre ho scoperto che arduino ha già il brown-out detector attivo e allora forse bisogna regolarlo meglio?

a qualcun'altro succede il mio stesso problema?
perchè con microcontrollori pic non ho mai avuto di questi problemi?

qualche anima gentile può aiutarmi??

grazie mille.

che libreria stai usando?


Arduino Forum > International > Italiano > Software (Moderator: leo72) > Corruzione EEPROM.


arduino

Comments