Könnte auch sein das ein oder andere ack entweder low bleibt, oder nicht weitergeclock’t wird oder zu kurz bleibt. Wie gesagt, ich habe viele probleme gehabt. Rate ernsthaft die signale zu beobachten und analysieren. Must vorsichtig sein das du den module klar machst das nur ein bit gelesen wird:

IIC.ibcr.byte |= TXAK; /* disable active low acknowledge bit (signal to slave to stop Tx) */