hi:
my chip is NRF52832 (512k FLASH + 64k RAM).
I want to triggle ESB send process by PPI + TIMER ,but i can't find the function like esb_task_address_get(),but i found some info in the datasheet:
so i write like this:
ret_code_t err_code; err_code = nrf_drv_ppi_init(); APP_ERROR_CHECK(err_code); nrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG; timer_cfg.bit_width = NRF_TIMER_BIT_WIDTH_32; err_code = nrf_drv_timer_init(&m_timer, &timer_cfg, timer_handler); APP_ERROR_CHECK(err_code); uint32_t ticks = nrf_drv_timer_ms_to_ticks(&m_timer, 1000); nrf_drv_timer_extended_compare(&m_timer, NRF_TIMER_CC_CHANNEL0, ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, false); nrf_drv_timer_enable(&m_timer); uint32_t timer_compare_event_addr = nrf_drv_timer_compare_event_address_get(&m_timer, NRF_TIMER_CC_CHANNEL0); // uint32_t esb_send_task_addr = nrf_esb_write_payload(&tx_payload); uint32_t esb_send_task_addr = 0x40001000+0x008; err_code = nrf_drv_ppi_channel_alloc(&m_ppi_channel); APP_ERROR_CHECK(err_code); err_code = nrf_drv_ppi_channel_assign(m_ppi_channel, timer_compare_event_addr, esb_send_task_addr); APP_ERROR_CHECK(err_code);
but its seems not work. I want to know if i get the wrong task_start address?or other problems may have.
Thank you !