Quote Originally Posted by mackrackit View Post
I am not sure if doing the I2C in ASM will help much. PBP for the most part is pretty efficient, It just takes a lot of bit shifting to do I2C no matter what. Take a look at the ASM generated by PBP and see what you think.

In your case I am thinking the fewer the I2C reads and writes no matter what language will be key. And that brings up adding the RTC... More I2C???

Another thought.
If the system has a few seconds of dead time now and then have more than on array to save the data in from the sensor. When ever there is time to spare write the oldest array to EEPROM and keep going. Kind of a home made interrupt.

And like Alan Said about FRAM. Could be what you need.
Yes, Alian is right and hardware is the core constrain. I did some revise for the previous codes like reading the accelerometer(six bytes register for three axes) in one I2C read, and the same pracitice for I2C write. The final speed improved to about 150Hz, and then later I started to work on something else for a long time... I think it is my time to crack this trick and will see what's the maximum I will get later. Thanks a lot!~