nRF24L01P-> PTX nRF52832-> PRX
The settings of nRF24L01P are as follows.
CRC-> enable, 2byte
mode-> PTX
auto acknowledgement data pipe 0-> enable
RX / TX Address field width-> 5byte
ARD-> 250us, ARC-> 15
Freqency-> 2404
Data Rate-> 2Mbps
TX address-> 52,02,00,00,02
RX pipe0 address-> 52,02,00,00,02
Send data-> 16byte
address value
0x00 0x0E
0x01 0x01
0x02 0x01
0x03 0x03
0x04 0x0F
0x05 0x04
0x06 0x0E
0x07 0x70
0x10 0x5202000002
0xA0 0x5202000002
The setting of nRF52832 is executed with the following code.
The base is nRF5_SDK_15.3.0_59ac345 \ examples \ proprietary_rf \ esb_prx.
uint32_t esb_init( void ) { uint32_t err_code; uint8_t base_addr_0[4] = {0x02, 0x00, 0x00,0x02}; uint8_t base_addr_1[4] = {0xC2, 0xC2, 0xC2, 0xC2}; uint8_t addr_prefix[8] = {0x52, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 }; nrf_esb_config_t nrf_esb_config = NRF_ESB_DEFAULT_CONFIG; nrf_esb_config.payload_length = 16; nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL; nrf_esb_config.bitrate = NRF_ESB_BITRATE_2MBPS; nrf_esb_config.mode = NRF_ESB_MODE_PRX; nrf_esb_config.event_handler = nrf_esb_event_handler; nrf_esb_config.selective_auto_ack = true; nrf_esb_config.crc = NRF_ESB_CRC_16BIT; err_code = nrf_esb_init(&nrf_esb_config); VERIFY_SUCCESS(err_code); nrf_esb_flush_rx(); nrf_esb_enable_pipes(0x01); nrf_esb_set_address_length(4); nrf_esb_set_rf_channel(0x04); 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; }
There is no response even if break is set in nrf_esb_event_handler.
When you stop and look at RADIO in the system viewer, it looks like this:
EVENTS_ADDRESS 0x00000001
EVENTS_PAYLOAD 0x00000001
EVENTS_END 0x00000001
EVENTS_DEVMATCH 0x00000000
EVENTS_DEVMISS 0x00000001
EVENTS_CRCOK 0x00000000
EVENTS_CRCERROR 0x00000001
If you set nrf_esb_config.crc = NRF_ESB_CRC_OFF ;, a break will occur in nrf_esb_event_handler, but the content of payload is different from the content being sent.
Is there anything else I need to set up on the nRF52832 side?
I would appreciate your answer.
Best regards.