In my plan, I have used NRF52832 IC as the transmitter and the NRF24LU1P+ as the receiver. I have tested the wireless transmission successfully.In order to reduce consts,I need to use NRF52810 instead of NRF52832. All the code of esb configurations is the same,but I find the Wireless transmission failure.void nrf_esb_event_handler(nrf_esb_evt_t const * p_event)
{
uint8_t i;
switch (p_event->evt_id)
{
case NRF_ESB_EVENT_TX_SUCCESS:
break;
case NRF_ESB_EVENT_TX_FAILED:
for(i=0;i<4;i++)
{
nrf_gpio_pin_clear(S_MOTION);
nrf_delay_us(10);
nrf_gpio_pin_set(S_MOTION);
nrf_delay_us(10);
}
(void) nrf_esb_flush_tx();
(void) nrf_esb_start_tx();
break;
case NRF_ESB_EVENT_RX_RECEIVED:
break;
}
}
uint32_t esb_init( void )
{
uint32_t err_code;
uint8_t base_addr_0[4] = {0xE4, 0xE3, 0xE2, 0xE1};
uint8_t base_addr_1[4] = {0xC2, 0xC2, 0xC2, 0xC2};
uint8_t addr_prefix[8] = {0xE5, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 };
nrf_esb_config_t nrf_esb_config = NRF_ESB_DEFAULT_CONFIG;
nrf_esb_config.payload_length = 32;
nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.bitrate = RADIO_MODE_MODE_Nrf_2Mbit;
nrf_esb_config.mode = NRF_ESB_MODE_PTX;
nrf_esb_config.event_handler = nrf_esb_event_handler;
nrf_esb_config.selective_auto_ack = false;
err_code = nrf_esb_init(&nrf_esb_config);
VERIFY_SUCCESS(err_code);
err_code = nrf_esb_set_base_address_0(base_addr_0);
VERIFY_SUCCESS(err_code);
err_code = nrf_esb_set_base_address_1(base_addr_1);
VERIFY_SUCCESS(err_code);
err_code = nrf_esb_set_prefixes(addr_prefix, 8);
VERIFY_SUCCESS(err_code);
return err_code;
}