Hi I have done several projects with the nRF905. I know the device quite well. Normally I use the CD, AM and DR interrupt pins to determine the status of the device, my current project don't allow all 3 signals to be routed to my MCU. I only have the CD interrupt. But the Status Register contain the DR and AM signals. I configure the nRF905 as follows: I write the 10 config bytes to the nRF905 with command 0x00, followed by 10 x config bytes. Then I write the TX address with 0x22 followed by 4 x TX address bytes. Then I read the config back with 0x10 followed by 10 x 0x00. Because I don't have the AM and DR interrupts, I pole the Status register on a 1milisecond interval with 0x10 (read config). The problem is, after sending a packet of data, I don't get the DR signal in the Status register, but if I measure on the DR interrupt the pin is high. Also the Status Register return a value of 0x42. AM is at bit7 and DR at bit5. 0x42 is bit6 and bit1 asserted. Also I noted that when I write the TX address to the nRF905, the first byte returned by the nRF905 is 0x00 and then the following bytes are the first 4 config bytes. the CSN high signal between commands are minimum 10 microseconds and my SCK speed is 500Khz, well withing the nRF905 speed limits. The nRf905 and MCU are powered by 3.3V. So my questions are: (1) Are the 0x42 a valid value for the Status register and why don't I get the DR signal in the Status Register? (2) As the value of the Status register are always the first byte returned on the SPI, do I need to use a specific command to request the Value of the status register? (3) What happen with uncompleted commands if CSN goes high before the command are completed? Because it looks like I get read config results when I did not asked for it.
By the way, I have replaced the nRF905 because I thought it was damaged, but the new device reacted the same. Chip markings: nRF C 905 1342DP