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

nRF24L01+ - EN_AA Enabled but acting as if it were disabled.

Hi, I have two different types of nRF24L01+ modules, both behave differently.

The "troublesome" module always has TX_DS asserted after a transmit, which is the same behavior described by the v2.0 documentation as if AUTO_ACK is disabled.

However, AUTO_ACK is set to 0x3f (all pipes).

Anyone have any suggestions?

Output of "good" module, which is the intended behavior;

>Sending...
read_register(1d,05) <br>
read_register(00,0f) <br>
write_register(00,0e) <br>
read_register(02,3f) <br>
write_register(02,3f) <br>
write_register(11,20) <br>
[Writing 16 bytes 0 blanks] <br>
read_register(17,01) <br>
read_register(17,01) <-- never receives an auto_ack (because no one is listening on other side)<br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
write_register(07,10) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
read_register(17,01) <br>
write_register(07,10) <br>
read_register(00,0e) <br>
read_register(00,0e) <br>
write_register(00,0f) <br>
write_register(07,70) <br>
read_register(1d,05) <br>
failed. <br>

Output of "troublesome" module, which is NOT the intended behavior;

> Sending... <br>
read_register(1d,05) <br>
read_register(00,0f) <br>
write_register(00,0e) <br>
read_register(02,3f) <br>
write_register(02,3f) <br>
write_register(11,20) <br>
[Writing 16 bytes 0 blanks] <br>
read_register(17,01) <br>
read_register(17,11) <-- couldn't have received an auto_ack, again EN_AA is set to 0x3f <br>
read_register(00,0e) <br>
read_register(00,0e) <br>
write_register(00,0f) <br>
write_register(07,70) <br>
read_register(1d,05) <br>
ok. <br>
Parents Reply Children
No Data
Related