How to user timer interrupts for times longer than can TNCTx can keep track of?
By maintaining your own second-level prescaler you can quite easily keep track of longer periods.

The most efficient method is to use a "divide and multiply by two" scheme.




Start with a custom pre-scaler of 1.
While the count period is > 65535:


Multiply the pre-scaler by 2.
Divide the count period by 2





uint16_t ps = 1;
uint32_t period = 429864;

while (period &gt; 65535) {
    ps &lt;&lt;= 1;
    period &gt;&gt;= 1;
}


Then you can load the count period register with the now divided count period and use a variable to count the number of times the interrupt has been triggered. When it equals your custom pre-scaler value you reset the count to 0 and run your actual interrupt routine.

The left and right shifts multiply by two and divide by two respectively in a very efficient manner. Far more than multiplying by 10, or dividing the period by 65536 and using that as a prescaler.