Hello All ,
I want to use timer 2 of nRF52810..my code is not giving any error but timer is also not going to IRQ handler...but if i made the same changes for timer 0 it working..
sharing my code...what should be the issue?..
Thanks in Advance....
void timer2_init(void)
{
NRF_TIMER2->TASKS_STOP = 1; // Stop timer
NRF_TIMER2->MODE = TIMER_MODE_MODE_Timer; // taken from Nordic dev zone
NRF_TIMER2->BITMODE = (TIMER_BITMODE_BITMODE_16Bit << TIMER_BITMODE_BITMODE_Pos);
NRF_TIMER2->PRESCALER = 60 ;
NRF_TIMER2->TASKS_CLEAR = 1; // Clear timer
NRF_TIMER2->CC[1] = 30999; //842//421 ;
NRF_TIMER2->INTENSET = TIMER_INTENSET_COMPARE1_Enabled << TIMER_INTENSET_COMPARE1_Pos; // taken from Nordic dev zone
NRF_TIMER2->SHORTS = (TIMER_SHORTS_COMPARE1_CLEAR_Enabled << TIMER_SHORTS_COMPARE1_CLEAR_Pos);
NVIC_EnableIRQ(TIMER2_IRQn);
NRF_TIMER2->TASKS_START = 1; // Start TIMER STOP AS WE USE IT FOR SOFTWARE UART SO WE START IT WHEN REQUIRED
}
void nrfx_timer_2_irq_handler(void)
{
if (NRF_TIMER2->EVENTS_COMPARE[0] &&
NRF_TIMER2->INTENSET & TIMER_INTENSET_COMPARE1_Msk)
{
// clear compare register event
NRF_TIMER2->EVENTS_COMPARE[0] = 0;
// toggle pin
nrf_gpio_pin_toggle(PIN_OUT) ;
}
}