SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By rocklinsuv
#53165
:cry: Hello everyone~
These days I'm working on a project using ATmega32 and nRF24L01 to transmit data. And after studying the technical reference, I have got some questions about nRF24L01.

Q1: Is it correct if I use the following commands to write "Tx Payload":
CSN_low SPI_Command"0xA0" then " Payload data" then CSN_High? Can I do these commands either CE is high or low ?

Q2: When I want to transmit a data package, I have to "Keep CE high at least 10us". What will happen if I always keep the "CE" pin high?

Q3: These are the following words in the technical reference that made me so confused " Page 14. Enhanced ShockBurst Transmitting Payload.
Point 6. The device goes into Standby_1 Mode if CE is low. Otherwise the next payload in TX FIFO will be sent. If TX FIFO is empty and CE is still high,the device will enter Standby_2 Mode."
What does it mean by " the next payload in TX FIFO will be sent"? Does it have another TX FIFO or just means something else?

And thank you all guys~ Hope to hear some replies~~lol
By rocklinsuv
#53170
Hi there~

I have worked it for a whole afternoon and finally got it worked! nRF24L01 is the most difficult module I have ever used~lol

I have discovered some kinds of "bugs" on this module, hope to share with you all~

When I use Enhanced ShockBurst module, 16bits CRC, data pipe0, "default TX and RX address setting", I can hardly get even 1bit correct data( IRQ pin remain High all the time). But when I change the address setting, use such as" 0xCC, 0xC3, 0x3C, 0xC3,0xCC" for both TX and RX, to my surprise, it receive correct data package immediatily....... Is it a kind of "Bug" or something else? Does any of you meet the same problem before? I think each byte of address must not be the same......or it will not work...... but the technical reference didn't say that.

Hope to hear some replies~ Thank you guys
By rocklinsuv
#53530
Still waiting for solution~~
By marcovansteen
#53535
Hi,

Basically you are already on the right track.

Just have a look at the "Note" on page 25 of the datasheet:
http://www.nordicsemi.com/files/Product ... n_v2_0.pdf

If I understand correctly, 0xC3 , 0x3C should even work better than 0xCC (which looks like preample 01010101b).

The reason behind this stuff is that the receiver puts out a continuous random stream of zeros and ones, just because of internal and external noise sources. Only when a transmitter is within the range, the transmitted signal determines the sequence at the receiver output.

Good luck!

Best regards,
Marco
By rocklinsuv
#53561
Well, thank you for pointing out the key to my question~

The company which sold me the module only translated part of the technical reference into Chinese~( I'm from Mainland China )......So, thx again and I'll read the document U gave me carefully~

Best Wishes
Lyn