NRF52840 Timer channels with different periods.

Hi There, 

I have been looking for ways to have three channels of a hardware timer with the NRF52840 generate a compare interrupt at different time intervals, my understanding is that this is their functionality however I have not been able to implement it correctly. 

For instance I want to get the following chain of events:

 0----200us------300us-------1000us  (Not necessarily these values).

 -----CH0-------CH1---------CH2      (Timer interrupt events).

I have tried this: 

    nrfx_timer_compare(&timer,
                        NRF_TIMER_CC_CHANNEL0,
                        ticksToUs,
                        true);
    nrfx_timer_compare(&timer,
                        NRF_TIMER_CC_CHANNEL1,
                        ticksToUsOne,
                        true);
    nrfx_timer_compare(&timer,
                        NRF_TIMER_CC_CHANNEL2,
                        ticksToUsTwo,
                        true);

And I do get the interrupts to occur for every channel at the given interval but they only occur once. How could I make this sequence periodic ?

What would be the best way tp implement this ?

Thanks, 

Cheers 

Related