Ciao ragazzi, utilizzo la libreria I2C è possiedo qualche problema di comunicazione, quando il Master mi deve leggere qualche dato dallo SLAVE (ARDUINO MEGA) non invia nulla. Ho messo le resistenze di pull-up,inoltre, se provo la comunicazione con il programma della libreria il tutto funziona.
Questa è la routine dello slave che attraverso un'uscita digitale gli dice al master puoi passarmi i valori:
void LETTI2C() {
digitalWrite(comi2c, 1);
Serial.println("Aspetto i parametri");
while (digitalRead(comi2c) > 0) {
}
Serial.println("Risposta dati");
}
void requestEvent() {
Wire.write(1);
Wire.write(1);
}
void receiveEvent(int howMany) {
Serial.println(Wire.read());
Serial.println(Wire.read());
}
Nel master quando non riceve nulla, ricevo come primo byte 161.
L'indirizzo dello slave è l'indirizzo 80
Il master è il PIC 18F6527