Come scrivere n >1 byte in eeprom senza bloccare il programma?

leo72:
@Tuxduino:
basta usare un buffer in cui inserisci i dati da scrivere in forma di tripletta: 1 byte per il dato, 2 byte per l'indirizzo.
Il vettore di interrupt è EE_READY_vect (se non ho letto male). All'interno di questa ISR controlli se il buffer contiene ancora dei dati, in caso positivo li scrivi 1 ad 1 fino all'ultimo.

Interessante... triplicherebbe l'uso di RAM a parità di numero di byte "bufferizzati"... Tuttavia ragionare in termini di singoli byte in ingresso (alla libreria) invece che di chiamate che possono memorizzare interi array di byte in una volta rende il tutto più semplice...

L'interfaccia rimarrebbe identica a EEPROM.write(), cambierebbe ovviamente il nome dell'stanza della classe... Questa write risulterebbe bloccante solo se il buffer fosse pieno, mentre ritornerebbe istananeamente in caso contrario.

Ci lavorerò, grazie del suggerimento :slight_smile: