Goodmorning,
while performing an SPI read with command 0x03, the nRF24 is sending data during command and address transmission. Is it right?
Thanks
Goodmorning,
while performing an SPI read with command 0x03, the nRF24 is sending data during command and address transmission. Is it right?
Thanks
Hi,
while performing an SPI read with command 0x03, the nRF24 is sending data during command and address transmission. Is it right?
If you are asking if the SPI read function is full duplex, yes, it is. You can get data shifted back on MISO while you're shifting data on MOSI. This is usually a one-command lag, meaning that the next transmission will return the data from the former command.
Kind regards,
Håkon
Hi,
thanks for reply, so just for confirmation, if I want to read 2 bytes starting from address 0, I should send:
0x03 (meaning READ commad), 0x00 (MSB address), 0x00 (LSB address), 0x00 (dummy send for byte 1), 0x00 (dummy send for byte 2).
This is what I get:
First transaction.
MOSI -> 0x03, 0x00, 0x00, 0x00, 0x00
MISO -> 0x00, 0x78, 0x78, 0x02, 0x78
Second transaction after the previous.
MOSI -> 0x03, 0x00, 0x00, 0x00, 0x00
MISO -> 0x00, 0x00, 0x00, 0x02, 0x78
The requested two bytes are the latest from MISO, is it right?
The first 3 bytes from MISO can be ignored, is it correct?
Thanks.
Hi,
Which register are you trying to read, is this the SETUP_AW register in the radio core, or your own implementation over SPI on the nRF24LU1+?
Kind regards,
Håkon
It's the reading of the Flash on the nRF24LU1+ over SPI from an external microcontroller.
Hi,
Thank you for clearing that up.
Alessio said:The requested two bytes are the latest from MISO, is it right?
That is correct. The first 3 bytes are op-code + 2 byte address, so the 4th byte (and onwards) on MISO will be the data you're interested in.
Alessio said:The first 3 bytes from MISO can be ignored, is it correct?
Yes.
You read out 0x02, which is a jump instruction (see opcode in chapter 14.5), and the next two bytes would be the start address of the image, which I expect is 0x7800 when you read the next byte (default location of the usb bootloader).
Kind regards,
Håkon