0
\$\begingroup\$

So I've been playing around with nRF2401+ radio module lately but been having a few issues. One of them (which could be the cause of the second one) is not being able to properly set the Status register.

So the default value of the status register reads 0xE as shown below. Now In the initialization, I need to clear the IRQ bits by writing 1 so it reads 0x7E but it doesn't seem to change at all.

enter image description here

Below is the attached capture from the logic analyzer. Note that 0x07 refers to the address of Status register. 0x0 refers to read operation while 0x2 refers to write. You can see the last line is where i'm reading the status register and it reads 0x0E instead of 0x7E which I wrote.

enter image description here

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

You misunderstood how it works. You can't write it to 0x7E yourself. The bits get set to '1' by the chip only when a corresponding IRQ event happens.

When the chip has set any of these bits high, they are cleared by the user, by writing a '1' bit to the location you want to clear/acknowledge back to '0'.

So when the register is 0x0E, no interrupts are pending, and there is nothing to clear.

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.