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));
}