yoshi93:
Piccola curiosità: l'SPI viene gestita con codice bloccante perchè deve aspettare di ricevere il byte di ritorno giusto? Mi sto scervellando con gli interrupt senza molto successo però.
In effetti ho messo un while() su un valore di ritorno del registro di stato, il bit WIP (Write In Progres). Se il bit non si azzera il while() rimane appeso per anni!
Alcuni consigliano bovinamente di mettere un delay ogni fine scrittura, leggendo il tempo massimo di wait della EEPROM usata, sul datasheet della stessa. La serie 25LC, per esempio, ha un Tmw di 5 mSec, quindi mettendo un delay di 6 mSec si è a posto (sempre se anche quà non si pianta qualcosa...).