ISRs should be keep as short as possible, i feel that what you do inside may need much time than 2mSec?
If so...you may stop the timer, do your stuff, re-start the timer and clear the interrupt flag.. but yeah you loose all of this needed 2mSec accuracy... even using Darrel's favorite ON INTERRUPT
Try to reduce your 2mSec to let's say 5-10 mSec
But that's a feeling. Post your whole code here with the I2C stuff.
Bookmarks