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

Loading the nRF24L01p registers for initialisation

Hi folks,

I'm trying to write a program to check out a pair of nRF24L01p modules talking to each other, and I'm a bit confused about two aspects of initialisation:

  1. Should you have the 'PWR_UP' bit in the CONFIG register on or off when you want to write the various data into the other registers? I think it should be off, so the chip is in a standby mode.
  2. Also, when you write data into any of the chip's registers, what is the content of the STATUS register that's returned during the write?

I guess these questions are pretty simple and reveal my lack of experience with these impressive chips, but an answer would be very much appreciated.

Thanks, Jim

Parents
  • Hi Jim

    1. I usually write to the CONFIG register first, and set the PWR_UP bit, but I think you can write to the configuration registers even without the PWR_UP bit set. It is definitely not required to disable the PWR_UP bit before altering configuration registers, you just need to make sure the CE (chip enable) pin is not set.

    2. The default value of the STATUS register is 0x0E (b00001110), if no interrupts have fired and there are no packets in the TX or RX fifo.

    Best regards
    Torbjørn

  • You don't have to pulse it to write to the TX FIFO, no. CE is used for one thing only, and that is to start the radio transceiver (in either TX or RX mode depending on the configuration).
    In TX mode pulsing CE just means "send the next packet in the TX FIFO", and you have to do it after uploading the packet to the FIFO.
    If you keep CE high it will send all packets in the TX FIFO (and you can even upload more packets without lowering CE first).
    Best regards

Reply
  • You don't have to pulse it to write to the TX FIFO, no. CE is used for one thing only, and that is to start the radio transceiver (in either TX or RX mode depending on the configuration).
    In TX mode pulsing CE just means "send the next packet in the TX FIFO", and you have to do it after uploading the packet to the FIFO.
    If you keep CE high it will send all packets in the TX FIFO (and you can even upload more packets without lowering CE first).
    Best regards

Children
No Data
Related