]> git.piffa.net Git - sketchbook_andrea/blob - serial/i2c/slave_receiver_1/slave_receiver_1.ino
bussola
[sketchbook_andrea] / serial / i2c / slave_receiver_1 / slave_receiver_1.ino
1 /* Wire Slave Receiver
2
3 Ricezine di una stringa di testo via I2C
4
5  This example code is in the public domain.
6  
7   Schema: http://lab.piffa.net/schemi/i2c_bb.jpg
8 */
9
10 char input ;
11
12 #include <Wire.h>
13
14 void setup()
15 {
16   Wire.begin(4);                // Entra sul canale I2C come slave  ID 4
17   Wire.onReceive(receiveEvent); // Al verificarsi dell'evento Wire.onReceive
18           // richiama la funzione receiveEvent()
19           
20   // Debug seriale
21   Serial.begin(9600);           // start serial for output
22   Serial.println("Slave / RX Debug:");
23   Serial.flush();
24 }
25
26 void loop()
27 {
28   delay(100);
29 // Nel Loop non succede niente, tutta l'azione e' nella funzione receiveEvent()
30 // Innescata dall'evento Wire.onReceive
31 }
32
33 // Funzioni
34 void receiveEvent(int howMany)
35 // Eseguita ogni volta che si riceve dati dal Master
36 {
37   Serial.print("Lo slave ha ricevuto il seguente messaggio: \"");
38   while ( Wire.available()) // Scansiona tutti i dati ricevuti
39   {
40     input = Wire.read(); // receive byte as a character
41     Serial.print(input);         // print the character
42   }         // print the integer
43   Serial.println("\""); // \ e' l'escape character
44 }
45