
Zitat von
Teslafan
... wie man beim Slave die vom Master gesendeten Daten empfangen kann ...
Das steht ja im R N-W issen-Link zum TWI-Slave drin wie im Link oben genannt. WENN der Slave bereit zum Schreiben ist (Achtung - wenn er das nicht ist, bleibt hier der Master natürlich hängen!) dann schreibste einfach die gewünschten Bytes - beliebig viele im Rahmen des maximal reservierten Speicherplatzes >>an den richtigen Speicherort im Slave<<. Bei mir (klick für mehr) sieht das so aus:
Code:
// - - - - - - - - - - - - - - - - - - - - - - - -
//
if(!(i2c_start(SLAVE_ADR+I2C_WRITE))) //Slave bereit zum schreiben?
{ //
i2cdmy = i2c_write (0x01); // Buffer Startadresse 01 setzen
i2cdmy = i2c_write (byte1); // zum Schreiben. 01 {0, 10}
i2cdmy = i2c_write (byte2);
i2cdmy = i2c_write (byte3);
i2c_stop(); // Zugriff beenden
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
und danach kann ich die Daten im Slave auch vom Master wieder zurücklesen - sozusagen als Kontrolle, siehe dieses Beispiel (hier wird im Zielfeld ab Position 1 geschrieben, ABER ab Position 0 zurückgelesen !!)
......Bild hier
Diese Daten können dann (an der selben Stelle *gg*) im Slave natürlich auch ausgelesen werden.
Lesezeichen