23.4.3.2 Gated Timer Initialization Steps
The following steps must be performed to configure the timer for Gated Timer mode:
- Clear the ON bit (TxCON[15] =
0
) to disable the timer. - Clear the TCS bit (TxCON[1] =
0
) to select the System Clock source. - Set the TGATE Control bit (TxCON[7] =
1
) to enable Gated Timer mode. - Select the desired prescaler.
- Clear the Timer register, TMRx.
- Load the Timer Period register, PRx, with the desired 32-bit match value.
- If interrupts are used:
- Clear the TxIF Interrupt Flag bit in the IFS register.
- Configure the Interrupt Priority Levels in the IPC register.
- Set the TxIE Interrupt Enable bit in the IEC register.
- Set the ON bit (TxCON[15] =
1
) to enable the timer.
Gated Timer Example Code
T1CON = 0x0; // Stop timer and clear control register
T1CON = 0x00000080; // Gated Timer mode, prescaler at 1:1, internal clock source
TMR1 = 0x0; // Clear timer register
PR1 = 0xFFFFFFFF; // Load period register with 32-bit match value
T1CONbits.ON = 1; // Start timer