note all, this is a continuation of the question at https://www.microchip.com/forums/m1140265.aspx
The intent is to measure pulses using Timer0, set at time period 65ms. I do not have Timer0 interrupt set.
HOW have you set Timer0 to "a time period 65ms" ?
If it's via MCC, it would usually use an interrupt to reload Timer0 for a particular period, as that timer lacks a hardware reload capability (which Timer 2 has)
Also note. NEVER do something slow like a printf inside an ISR!
An ISR must do the minimum possible to service the interrupt, and get out again ASAP.
Forget about taking any time measurements if you do printf there.
One of the settings in MCC for Interrupt Module is "Single ISR per interrupt": I don't know what this means.
You are not writing the true ISR here. MCC is supplying one, and calling your code from their code.
(Which all goes towards adding latency to your interrupt service to shield you from the real hardware)
Your PIC only has a single hardware interrupt vector, which services all enabled interrupts. So, the MCC code will be checking all the enabled interrupt flags each time an interrupt occurs, to see which service routine to call.
I would imagine that setting means it exits as soon as one of the interrupts is invoked. If it's off, then it will probably keep checking for other interrupts after one has matched.