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

Received data is not stored in memory

I have an issue where after transmitting a radio package, is setting up the radio as receiver, get indication for reception (have indications for ADRESS and PAYLOAD events, get the END event intterupt, but the data in payload is not the same as the radio packet (have the transmitter to write the payload on the SPI bus) but I get a correct (if I have calculated it correctly) value in the RXCRC register.

I have verified that I set the PACKETPTR register before I set the RXEN task (output the STATE register and it is 0) and that the PACKETPTR has the same value when the END event occure.

What can be the error that cause this to happen?

Parents
  • Just thinking out loud... is the received data changed (not all zeros) but not equal to what was transmitted? Did you configure S0, LENGTH, S1 the same on the transmitter and receiver? (They will be read from and written to the buffer even if you are not considering them part of the 'payload.') On the nrf51 and nrf52 Reference Manuals both say 'The DISABLED event indicates that the EasyDMA has finished accessing the RAM', that is, maybe you should use a different event (DISABLED rather than END) . Again, I don't really know, I am just throwing out ideas.

Reply
  • Just thinking out loud... is the received data changed (not all zeros) but not equal to what was transmitted? Did you configure S0, LENGTH, S1 the same on the transmitter and receiver? (They will be read from and written to the buffer even if you are not considering them part of the 'payload.') On the nrf51 and nrf52 Reference Manuals both say 'The DISABLED event indicates that the EasyDMA has finished accessing the RAM', that is, maybe you should use a different event (DISABLED rather than END) . Again, I don't really know, I am just throwing out ideas.

Children
No Data
Related