Questa è la funzione che acchiappa i dati I2C spediti dal MASTER:
void receiveEvent(int data)
{
//questo evento viene generato quando sul bus
//è presente un dato da leggere
if ((Wire.available() > 0) && (Wire.available() < 2)) { /// Funzione che mi conferma (199) il funzionamento del Bus I2C
unsigned char okey = Wire.read(); /// e mi stampa la stringa "I2C OK " in un angoletto dello schermo
if(okey == 199){
myGLCD.setFont(BigFont);
myGLCD.setColor(VGA_BLUE);
myGLCD.print("I2C OK", 70, 0);
}
}
unsigned char alarm = 0;
unsigned char code = 0;
if (Wire.available() >=2) { /// dati dei contatti inallarme in arrivo
for(int i = 0 ; i < 2; i++)
buff[i] = Wire.read();
//eseguo la lettura
code = buff[0]; /// Codice-numero del contatto
alarm = buff[1]; /// tipo di allarme, se Rosso o Giallo
//////////////////////////////////////////////////////// 1
if(code == 11) { //// qua inizia la routine di mutua esclusione