Wenn du I2C in Hardware nutzt, gibt es schon gewisse Sicherungen, ein Byte, daß gerade auf den Bus geschoben wird, kann man nachträglich nicht mehr ändern. Das rettet aber nicht den ganzen Frame.
Das mit dem Flag kann auch nicht gehen. Die Mainloop müßte schneller als die Interrupte sein, sonst verliert man Interrupte.
Die einzige Möglichkeit ist umgekehrt. Man muß sich das Timing ganz genau ansehen und die I2C Übertragungen so auf die Interrupte verteilen, daß sie nicht ineinander laufen. Das erfordert sorgfältige Planung.
MfG Klebwax
Lesezeichen