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

cant get nrf24l01+ modules to work

I m using two Arduino pro mini(3.3v,8MHz),nrf24l01+ modules, when i first used those modules they worked fine they were communicating well(used the program from here arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo). I am using maniacbug's libraries. When after 2 days i tried again they werent communicating, all they was showing x= -1 y= -1. I have been trying for days and still no progress.I used the program GettingStarted from examples and it displayed the output-

RF24/examples/GettingStarted/

ROLE: Pong back

*** PRESS 'T' to begin transmitting to the other node

STATUS = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1

RX_ADDR_P0-1 = 0xffffffffff 0xffffffffff

RX_ADDR_P2-5 = 0xff 0xff 0xff 0xff

TX_ADDR = 0xffffffffff

RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00

EN_AA = 0x00

EN_RXADDR = 0x00

RF_CH = 0x1f

RF_SETUP = 0x7f

CONFIG = 0x7f

DYNPD/FEATURE = 0xff 0xff

Data Rate = 1MBPS

Model = nRF24L01

CRC Length = 16 bits

PA Power = PA_HIGH

Now sending 71616...ok...Got response 4294967295, round-trip delay: 71621

Now sending 72628...ok...Got response 4294967295, round-trip delay: 72633

Now sending 73633...ok...Got response 4294967295, round-trip delay: 73636

Now sending 74637...ok...Got response 4294967295, round-trip delay: 74658

i dont know what did i do wrong the 2nd time. if anyone out there understands this plz help me.

Parents
  • You can find an application note called : Software examples using ShockBurst modes in nRF24L01 and nRF24LU1 (nAN24-12.zip). This application note include source code to setup the nRF24L01+ in different radio modes, you should port the implementation specific hal_nrf_*.c to your preferred MCU.

    But what can be the exact problem here?

    From your description it might seem that the addressed used only contains ff..ff, which is not a recommend address. In the datasheet is says:

    -"Addresses where the level shifts only one time (that is, 000FFFFFFF) can often be detected in noise and can give a false detection, which may give a raised Packet Error Rate. Addresses as a continuation of the preamble (hi-low toggling) also raises the Packet Error Rate."

    So you are using a not recommended address. You should also make sure you follow the following notes in the datasheet of the nRF24L01+:

    -"Always check if the packet width reported is 32 bytes or shorter when using the R_RX_PL_WID command. If its width is longer than 32 bytes then the packet contains errors and must be discarded. Discard the packet by using the Flush_RX command."

    -"Always ensure that none of the data pipes have the same address."

Reply
  • You can find an application note called : Software examples using ShockBurst modes in nRF24L01 and nRF24LU1 (nAN24-12.zip). This application note include source code to setup the nRF24L01+ in different radio modes, you should port the implementation specific hal_nrf_*.c to your preferred MCU.

    But what can be the exact problem here?

    From your description it might seem that the addressed used only contains ff..ff, which is not a recommend address. In the datasheet is says:

    -"Addresses where the level shifts only one time (that is, 000FFFFFFF) can often be detected in noise and can give a false detection, which may give a raised Packet Error Rate. Addresses as a continuation of the preamble (hi-low toggling) also raises the Packet Error Rate."

    So you are using a not recommended address. You should also make sure you follow the following notes in the datasheet of the nRF24L01+:

    -"Always check if the packet width reported is 32 bytes or shorter when using the R_RX_PL_WID command. If its width is longer than 32 bytes then the packet contains errors and must be discarded. Discard the packet by using the Flush_RX command."

    -"Always ensure that none of the data pipes have the same address."

Children
No Data
Related