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

problems with nRF24L01plus

Hi I´ve got two boards with PIC 18F4620s connected to nRF24L01+ . One is configured as Tx and the other as Rx. I can read/write registers trough SPI in both boards, but I can´t get communication between them. TX Registers:

CONFIG = 00011110 MASK_RX_DR=0 MASK_TX_DS=0 MASK_MAX_RT=1 EN_CRC=1 CRCO=1 PWR_UP=1 PRIM_RX=0

EN_AA = 00111111 ENAA_P5=1 ENAA_P4=1 ENAA_P3=1 ENAA_P2=1 ENAA_P1=1 ENAA_P0=1

RX_ADDR_P0-1 B3B4B5B605 C2C2C2C2C2

RX_ADDR_P2-5 C3C4C5C6

TX_ADDR B3B4B5B605

RX_PW_P0-6 000000000000

EN_AA 3F

EN_RXADDR 03

SETUP_AW 03

RF_CH 14

RF_SETUP 0F

CONFIG 00

DYNPD/FEATURE 0000

FEATURE 00

RF_SETUP = 00001111 CONT_WAVE=0 RF_DR_LOW=0 PLL_LOCK=0 RF_DR_HIGH=1 RF_PWR=3

STATUS = 00001110 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

RX registers:

CONFIG = 00001111 MASK_RX_DR=0 MASK_TX_DS=0 MASK_MAX_RT=0 EN_CRC=1 CRCO=1 PWR_UP=1 PRIM_RX=1

EN_AA = 00111111 ENAA_P5=1 ENAA_P4=1 ENAA_P3=1 ENAA_P2=1 ENAA_P1=1 ENAA_P0=1

RX_ADDR_P0-1 B3B4B5B605 C2C2C2C2C2

RX_ADDR_P2-5 C3C4C5C6

TX_ADDR B3B4B5B605

RX_PW_P0-6 000000000000

EN_AA 3F

EN_RXADDR 03

SETUP_AW 03

RF_CH 14

RF_SETUP 0F

CONFIG 00

DYNPD/FEATURE 0000

FEATURE 00

RF_SETUP = 00001111 CONT_WAVE=0 RF_DR_LOW=0 PLL_LOCK=0 RF_DR_HIGH=1 RF_PWR=3

STATUS = 00001110 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

I load data and make a 15 usecs pulse in CSN at the TX. On the IRQ pin I can see 3.3 V with 0 going pulses so I think that means it transmit.

In the RX I raise CE after loading the necesasary registers and after lowering CE read RX_DR to see if there is data. RX_DR is always 0 and IRQ pin is always high.

I´m using JAL v2 as PIC´s language. Any hint or idea where to look would be greatly appreciated. Thanks in advance Yours

F. Pedrosa

Edit: wrong registers values. Corrected.

Related