You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
936 B
Plaintext
36 lines
936 B
Plaintext
15 years ago
|
// 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
|
||
|
|
||
|
#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.receive(); // receive byte as a character
|
||
|
Serial.print(c); // print the character
|
||
|
}
|
||
|
int x = Wire.receive(); // receive byte as an integer
|
||
|
Serial.println(x); // print the integer
|
||
|
}
|