Zitat Zitat von i_make_it Beitrag anzeigen
Schon bei:
while (Wire.available() < 4);
müsste von der Syntax eigentlich danach
{
der Code der solange ausgeführt wird
}
kommen.
Und wenn es nur delay ist.
Wobei es strittig ist ob man ein wire.available überhaupt braucht, da die Daten ja im Empfangspuffer stehen sollten.
wieso?

Wire.requestFrom(CMPS10Addr , 4);
fordert 4 Bytes von der dev addr an, und
while (Wire.available() < 4);
wartet einfach solange, bis 4 Bytes tatsächlich im i2c-Puffer vorliegen.
Und danach geht's weiter.

so funktioniert einfach nun mal das API der Wire() class.