.My application is an I2C slave, on a BUSY I2C bus. Using a timer interrupt >to time the servo pulses will not work, because it is possible to miss the >interrupt because you are processing an I2C interrupt instead. And if you >go the other way....and use the priority structure to make sure you don't >miss the servo pulse interrupt, then it is possible you will miss I2C data >instead. Also..I am driving 2 servos...so it is twice as likely there will >be a problem. Oh...and I forgot to mention...I am also monitoring the UART >for serial data at 115k....so I could miss bytes there as well. I have all >3 of these things going on inside the same PIC. This should be easily do-able in a 20MHz PIC. None of these things take an inordinate amount of time in themselves, and a properly structured interrupt service routine should have no problem with it. I suspect, as others have also indicated, that you have all your processing code inside the interrupt routine. This is definitely the wrong way to go about it. Perhaps you could post your current interrupt service routine. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics