I2C Flusskontrolle?

Gast #2348091
Lesenswert?

Hallo,

ich habe erfolgreich eine I2C Kommunikation zwischen einem 
Xmega256(Master) und einem mega32(Slave) aufbauen können. Weiterhin 
funktioniert master_read, master_write und auch master_writeread.

Nun möchte ich mittels master_writeread dem Slave 4byte senden. Der 
Slave wertet diese Bytes aus und schreibt dann entsprechend neue 
Daten(10Byte) in den Sendepuffer.

Da der Master aber sofort Daten empfangen möchte kann es vorkommen, dass 
der Slave noch nicht alle Daten in seinem Sendepuffer aktualisiert hat 
und daher der Master zwar etwas empfängt aber eben nicht die aktuellsten 
Daten.

Wie würde sich so etwas umsetzen lassen?

Gruß
Thomas
Gast #2348130
Lesenswert?

Kann ich das nicht auch irgendwie lösen dass ich in meinem TWI-Interupt 
ein I2C Statusflag überprüfe und dann entsprechend das senden von ACK 
bzw. NACK beeinflusse.

Das I2C Statusflag wird in der Hauptschleife dann zu beginn der 
Datenaufbereitung auf FALSE gesetzt und nachdem alle Daten im 
Sendepuffer sind auf TRUE gesetzt.

Würde soetwas irgendwie gehen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren