When compiling sample code with wire.h defined, I get an error on ESP32 boards but not ESP8266:
// Wire Slave Sender
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Sends data as an I2C/TWI slave device
// Refer to the "Wire Master Reader" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup() {
Wire.begin(8); // join i2c bus with address #8
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("hello "); // respond with message of 6 bytes
// as expected by master
}
C:\Users\Me\Documents\Arduino\I2C_Slave\I2C_Slave.ino: In function 'void setup()':
I2C_Slave:17: error: 'class TwoWire' has no member named 'onRequest'
Wire.onRequest(requestEvent); // register event
^
exit status 1
'class TwoWire' has no member named 'onRequest'
Any fix for this?