Ситуация следующая:
Хочу передать на одну ардуинку от 3-х ардуинок сообщение. При передаче от 2-х ардуинок всё работает как надо. Как только пытаюсь добавить третью, вылезает ошибка invalid header file
Код ардуинок, который передают сообщение:
1)
#include <Wire.h>
void setup() {
Wire.begin(7); // join i2c bus with address #9
Wire.onRequest(requestEvent); // register event
}
void loop() {
delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("Slave3"); // respond with message of 6 bytes
// as expected by master
}
#include <Wire.h>
void setup() {
Wire.begin(9); // join i2c bus with address #9
Wire.onRequest(requestEvent); // register event
}
void loop() {
delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("Slave3"); // respond with message of 6 bytes
// as expected by master
}
#include <Wire.h>
void setup() {
Wire.begin(8); // join i2c bus with address #9
Wire.onRequest(requestEvent); // register event
}
void loop() {
delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("Slave2"); // respond with message of 6 bytes
// as expected by master
}
Код ардуинки, которая получает сообщения:
#include <Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop()
{
Wire.requestFrom(8, 6); // request 6 bytes from slave device #8
Serial.print("Received Name of address 8 : ");
while (Wire.available())
{ // slave may send less than requested
char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
Serial.println("\n");
delay(500);
Wire.requestFrom(9, 6); // request 6 bytes from slave device #8
Serial.print("Received Name of address 9 : ");
while (Wire.available()) { // slave may send less than requested
{ char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
Serial.println("\n");
delay(500);
Wire.requestFrom(7, 6); // request 6 bytes from slave device #8
Serial.print("Received Name of address 9 : ");
while (Wire.available()) { // slave may send less than requested
{char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
Serial.println("\n");
delay(500);
}