This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf24lu1+ and nrf24l01+ communication.

How should the addressing be between an nrf24LU1+(transmitter) and nrf24l01+(Reciever) in the code.?

The registers TX_ADDR, RX_ADDR_P0, RX_ADDR_P1 are updated on a device as I know.

In order to set the own address of a device, which registers should be accessed? In order to set the address of other device, which register should be written to ?

In the nRFgo SDK, \nRFgo SDK 2.3.0.10040\source_code\projects\nrfgo_sdk\enhanced_shockburst_examples\ptx\Keil\nRF24lu1p looks like some default addresses are used. The addresses are not explicitly set.

Can you explain how they are used ?

Parents
  • There is an application note named 'nAN24-12 - Software Examples Using ShockBurstTm Modes in nRF24L01 and nRF24LU1' that might be helpful here, you should download the nAN24-12.zip so you also get the example code.

    The PTX might use the following to change the address of the packet to transmit:

    hal_nrf_set_address_width(HAL_NRF_AW_5BYTES); 
    hal_nrf_set_address(HAL_NRF_TX, tx_address);
    hal_nrf_set_address(HAL_NRF_PIPE0, tx_address); // Required to receive the ACK.
    

    The PRX can use:

    hal_nrf_set_address_width(HAL_NRF_AW_5BYTES); 
    hal_nrf_set_address(HAL_NRF_PIPE0, tx_address); 
    
  • The tx_address must be the same for both PTX and PRX as shown above. The PRX can setup a HAL_NRF_PIPE1 with a another tx_address to receive data from a second PTX.

Reply Children
No Data
Related