Eeprom

Dubbio eeprom, ma quando riprogrammo arduino la eeprom viene cancellata e impostata a FF Esiste un modo per mantenere i valori memorizzati e riprogrammare arduino o mi devo affidare ad una eeprom esterna ? Grazie

Se lo riprogrammi con la procedura normale di Arduino, via USB-seriale insomma, il contenuto è preservato.

Se lo riprogrammi tramite un programmatore ISP dipende dal valore del fuse EESAVE, che - mi pare - su Arduino è disattivato, per cui la flash viene effettivamente cancellata ad ogni programmazione.

Quindi mi devo anche ricordare che prima di scrivere la eeprom con la programmazione classica devo fare un erase o una scrittura a FF se devo aggiornare i dati , altrimenti rischio di trovare byte scritti

Beh sì. Quel che faccio io di solito è scrivere una stringa particolare per ogni programma in una certa posizione. All'avvio leggo e, se non la trovo, azzero la EEPROM e la riempio con i valori di default.

Però dipende... Se pensi di usare un Arduino praticamente per un unico scopo, allora fai prima a cancellarla a mano (usa lo sketch eeprom_clear) quando serve, e assumere che sia corretta negli altri casi.

A me serve solo per memorizzare i valori di offset di un giroscopio Entro tramite pulsante in una routine di calibrazione Memorizzo i risultati nell eeprom e poi quando riavvio reimposto gli offset giusti Grazie dei consigli