Hallo,

ich programmiere zwar nur in Bascom, aber ich kann dir vermutlich trotzdem weiterhelfen.

Wenn das TWINT-Flag gesetzt ist, kannst du ja den Status aus dem Register TWSR (Bit 3 bis 7) auslesen. Status 0x60 quittierst du jetzt in dem du das TWINT-Flag zurücksetzt. Das löst ein ACK aus und es kann auf dem Bus weitergehen. Bei einem Status 0x80 (Byte angekommen) kannst du das Register TWDR auslesen. Da steckt dann dein übertragenes Byte drin. Jetzt setzt du nach dem Auslesen des Bytes das TWINT-Flag wieder zurück. Weitere Stati findest du im Datenblatt.