The code crashes at the 3rd line (nrfx_timer.c)
void nrfx_timer_enable(nrfx_timer_t const * const p_instance) { NRFX_ASSERT(m_cb[p_instance->instance_id].state == NRFX_DRV_STATE_INITIALIZED); nrf_timer_task_trigger(p_instance->p_reg, NRF_TIMER_TASK_START); m_cb[p_instance->instance_id].state = NRFX_DRV_STATE_POWERED_ON; NRFX_LOG_INFO("Enabled instance: %d.", p_instance->instance_id); }
Here is my init code
static void timers_init(void) { ret_code_t err_code; //uint32_t hesa_time_ticks = 0x0000007D; //1.6msec uint32_t hesa_time_ticks = nrfx_timer_us_to_ticks(&hesa_timer_instance, 1600); nrfx_timer_config_t hesa_timer_config = NRFX_TIMER_DEFAULT_CONFIG; hesa_timer_config.frequency = NRF_TIMER_FREQ_250kHz; hesa_timer_config.mode = NRF_TIMER_MODE_TIMER; hesa_timer_config.bit_width = NRF_TIMER_BIT_WIDTH_16; hesa_timer_config.interrupt_priority = TIMER_HESA_CONFIG_IRQ_PRIORITY; hesa_timer_config.p_context = NULL; //code taken from "timer" example nrfx_timer_compare(&hesa_timer_instance, NRF_TIMER_CC_CHANNEL1, hesa_time_ticks, true); err_code = nrfx_timer_init(&hesa_timer_instance, &hesa_timer_config, hesa_sample_timer_isr); APP_ERROR_CHECK(err_code); nrfx_timer_enable(&hesa_timer_instance); HESA_TIMER->TASKS_START = 1; }
I suspect this is a config problem but I can't figure what it might be