aboutsummaryrefslogtreecommitdiff
path: root/libraries/Wire/examples/slave_receiver
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Wire/examples/slave_receiver')
-rw-r--r--libraries/Wire/examples/slave_receiver/slave_receiver.ino38
1 files changed, 38 insertions, 0 deletions
diff --git a/libraries/Wire/examples/slave_receiver/slave_receiver.ino b/libraries/Wire/examples/slave_receiver/slave_receiver.ino
new file mode 100644
index 0000000..15eff9a
--- /dev/null
+++ b/libraries/Wire/examples/slave_receiver/slave_receiver.ino
@@ -0,0 +1,38 @@
+// Wire Slave Receiver
+// by Nicholas Zambetti <http://www.zambetti.com>
+
+// Demonstrates use of the Wire library
+// Receives data as an I2C/TWI slave device
+// Refer to the "Wire Master Writer" example for use with this
+
+// Created 29 March 2006
+
+// This example code is in the public domain.
+
+
+#include <Wire.h>
+
+void setup()
+{
+ Wire.begin(4); // join i2c bus with address #4
+ Wire.onReceive(receiveEvent); // register event
+ Serial.begin(9600); // start serial for output
+}
+
+void loop()
+{
+ delay(100);
+}
+
+// function that executes whenever data is received from master
+// this function is registered as an event, see setup()
+void receiveEvent(int howMany)
+{
+ while (1 < Wire.available()) // loop through all but the last
+ {
+ char c = Wire.read(); // receive byte as a character
+ Serial.print(c); // print the character
+ }
+ int x = Wire.read(); // receive byte as an integer
+ Serial.println(x); // print the integer
+}