31 lines
720 B
Arduino
31 lines
720 B
Arduino
|
#include "Wire.h"
|
||
|
|
||
|
#define I2C_DEV_ADDR 0x55
|
||
|
|
||
|
uint32_t i = 0;
|
||
|
|
||
|
void setup() {
|
||
|
Serial.begin(115200);
|
||
|
Serial.setDebugOutput(true);
|
||
|
Wire.begin();
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
delay(5000);
|
||
|
|
||
|
//Write message to the slave
|
||
|
Wire.beginTransmission(I2C_DEV_ADDR);
|
||
|
Wire.printf("Hello World! %u", i++);
|
||
|
uint8_t error = Wire.endTransmission(true);
|
||
|
Serial.printf("endTransmission: %u\n", error);
|
||
|
|
||
|
//Read 16 bytes from the slave
|
||
|
uint8_t bytesReceived = Wire.requestFrom(I2C_DEV_ADDR, 16);
|
||
|
Serial.printf("requestFrom: %u\n", bytesReceived);
|
||
|
if((bool)bytesReceived){ //If received more than zero bytes
|
||
|
uint8_t temp[bytesReceived];
|
||
|
Wire.readBytes(temp, bytesReceived);
|
||
|
log_print_buf(temp, bytesReceived);
|
||
|
}
|
||
|
}
|