Hallo!
Ich nutze die Slave Implementierung von "Martin Junghans" (danke an
Martin für die Implementierung!!).
Bisher habe ich immer nur ein Byte an meinen Slave geschickt - läuft
prima. Lesen ebenfalls.
Nun möchte ich mehrere Bytes zum Slave schicken. Jetzt stellt sich bei
mir aber die Frage, wie ich das Ende der Datenübertragung im Slave
erkennen kann.
OK, es geht alles, wenn ich die Anzahl der zu erwartenden Bytes kenne,
dann kann ich warten, bis der Pointer des Receive-Buffes (buffer_adr)
den richtigen Wert hat.
Aber eigentlich sollte man auch anhand der STOPP-Info des I2C Protokolls
erkennen können, dass die Übertragung fertig ist und erst dann lohnt es
sich für den Slave die Auswertung zu starten.
Ebenfalls wäre es hilfreich festzustellen, ob die Daten vom Master
abgeholt worden sind.
Also: Ich habe versucht dort eine "is_transmitted" und ein "is_received"
Info einzubauen. Ich bin ehrlich, so rund läuft es nicht.
Wie wird so was typischerweise implementiert?
Grüße
Hans-Joachim