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

nRF24L01 channel related

hello,my experiment phenomenon is:one nRF24L01's channel is 0x0A,used as send terminal;the other one nRF24L01's channel is 0x02,used as receive terminal;receive terminal can receive data which from send terminal.

i really check the code,the channel value is not changed anywhere,but the phenomenon is still exist.

in addition,i find channel value Phase difference 8 can lead to this phenomenon.

who know the reason,please tell me,thank you very much!

  • It's possible that one can receive data on some "mirror" frequncies, which can occur on nearby channels at given offset, it's only possible if the address, length and crc settings are the same. However the sensitivity is very much reduced, so you will have very short range. To avoid it you can in your product use 4byte address field, and let the 4th byte be equal the channel you are operating on.

    Best regards, Kenneth

  • First,thanks Kenneth.I have had a holiday last few days,so please forgive me that i did not reply on time.

    I have experimented according to your advise with air data rate of 250Kbps,but the phenomenon is still exist.The configuration of send terminal and receive terminal is completely same,and i use 4 byte address field and the 4th byte is set 0x0A,but the receive terminal can receive data at channel of 0x02 and 0x12 continually.I do not know whether i understand your advise correctly,or there is a problem on hardware/software.I expect you will give further help,thank you very much.

    In addition,i have changed air data rate at 2Mbps(origin air data rate is 250Kbps),and do not change the address field,i cannot receive data at 0x02 and 0x12.Although i read the datasheet,i cannot find the reason.If you know the reason,please tell me.thank you very much.

    Best regards.

  • First,thanks Kenneth.I have had a holiday last few days,so please forgive me that i did not reply on time.

    I have experimented according to your advise with air data rate of 250Kbps,but the phenomenon is still exist.The configuration of send terminal and receive terminal is completely same,and i use 4 byte address field and the 4th byte is set 0x0A,but the receive terminal can receive data at channel of 0x02 and 0x12 continually.I do not know whether i understand your advise correctly,or there is a problem on hardware/software.I expect you will give further help,thank you very much.

    In addition,i have changed air data rate at 2Mbps(origin air data rate is 250Kbps),and do not change the address field,i cannot receive data at 0x02 and 0x12.Although i read the datasheet,i cannot find the reason.If you know the reason,please tell me.thank you very much.

    Best regards.

  • I know what you mean,if the 4th byte is the channel operating on,it only receive data on the channel operating on,any other channel can not receive data.Although it does not solve problem originally,it is useful for me.

    Can you tell me why changing air data rate can solve the problem,thank you very much!

  • What I mean with setting the 4th address byte equal the operating frequency, is that in your protocol you would then not receive any accidental data on a mirror frequency, because the address is different. If you still set the address to be equal, then you might receive the data. So it is just a means of avoid this to be a problem.

    If you increase the data rate, the mirror frequency might change, and the sensitivity is reduced, both these factors might contribute to not receive data on mirror frequencies.

Related