Arduino due e I2c (24C02WP)

Per scrivere piu' (blocchi) di byte a forza di prove ho trovato questa funzione. La lettura non da' problemi. Puo' andare o e' ottimizzabile. grazie

void write_byte(void)
{ 
static byte n,m;
// Attenzione il bit di R/W non va inserito per cui l'ind. e' B1010100=84  A3=1; A1=A2=0;  sono gli ultimi //3
for (n=0;n<=3;n++)
   {
   Wire.beginTransmission(84); 
   Wire.write(16*n);
   for (m=0;m<=15;m++)     // scrivo 16 byte alla volta: in un ciclo di scrittura scrive al max 16 byte
      Wire.write(8); 
   Wire.endTransmission();
   delay(5);
   } 
}


void read_byte(void)
{
static byte C=0;
Wire.beginTransmission(84);
Wire.write(0);
Wire.endTransmission();            
Wire.requestFrom(84,64);    // request 1 bytes from slave device #2
while (Wire.available()>0) 
   C = Wire.read();
lcd.clear();
lcd.print("C: "+String(C));
}

>padoang: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

Ti diro' che il post mi e' partito che non me ne sono neanche accorto, mi scuso pertanto nel non rispetto del regolamento, Giorgio

Nessun problema, ma sistema il post come ho detto :wink:

Guglielmo