Hello, I want timer to interrupt if timer is not restarted in 200ms and wrote below code.
void timerConfig (void){ uint32_t time_ticks; uint16_t time_ms; //Configure timer nrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG; timer_cfg.bit_width =NRF_TIMER_BIT_WIDTH_32; timer_cfg.frequency =NRF_TIMER_FREQ_16MHz; uint32_t err_code = nrf_drv_timer_init(&controllerTimer, &timer_cfg, oneWireCommunicationTimerTimeouthandler); APP_ERROR_CHECK(err_code); time_ms = 200; //200 ms timeout timer time_ticks = nrf_drv_timer_ms_to_ticks(&controllerTimer, time_ms); nrf_drv_timer_extended_compare( &controllerTimer, NRF_TIMER_CC_CHANNEL0, time_ticks, NRF_TIMER_SHORT_COMPARE1_CLEAR_MASK, true); nrf_drv_timer_disable(&controllerTimer); nrf_drv_timer_clear(&controllerTimer); nrf_drv_timer_enable(&controllerTimer); }
I am restarted timer in few milliseconds using below but still I m getting interrupt. Please suggest.
//re-start the timer
nrf_drv_timer_disable(&controllerTimer);
nrf_drv_timer_clear(&controllerTimer);
nrf_drv_timer_enable(&controllerTimer);
Thanks