This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nrf8001 init problem

I have met a problem in communicating with nrf8001.

After reset nrf8001, RDYN is low which means it has something to send. Then I pull low of REQN and start receiving data via SPI bus. What I received are 0xC0, 0x10, 0xC0, 0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00. In this case, ACI EVENT length is 0x10 and evt_opcode is 0xC0 which I cannot find in nrf8001 datasheet. By my understanding, the first event should be ACI_EVT_DEVICE_STARTED and the evt_opcode should be 0x81 ? (correct ?)

Is there any other thing I should do to get the event right?

  • Your understanding is correct, i.e. after the reset of the nRF8001 you should get the ACI_EVT_DEVICE_STARTED. However I suspect that your SPI settings may not be correct so take a look at it again. Look at Section 7 of the nRF8001 data sheet to verify your settings. Additionally post a logic analyzer trace to see if the transaction is done correctly.

  • Hi Star,

    Yes, the problem is the SPI clock. We set it to 16MHZ, but I just noticed that the highest freq nrf8001 supports is only 3MHZ. After I change it to 3MHZ, the problem goes away.

Related