23.4.5.2 Asynchronous Clock Counter Considerations
The asynchronous TMRx value is synchronized before it is read. This allows the user to read a clean timer value; however, this also means the read data is the value of TMRx from two System Clock cycles prior to the read. This is also the value stored into the TMRx register when the module is turned off.
When the timer is configured in asynchronous mode, the act of setting the ON bit does not take effect until two rising edges of the external clock input have occurred.
When the timer is configured in Asynchronous mode and the timer is running, a write to TMRx must be synchronized for two asynchronous timer clock pulses before the contents of the timer register are updated with the timer value. The timer will not increment until two timer clocks have transpired. Two clock cycles are required to synchronize the write data into the clock domain of the asynchronous timer.
When the timer is configured for an asynchronous external clock, the interrupt latency is one asynchronous timer clock period plus 2 System Clock cycles.