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

NRF52 not reading third SPI byte

Hi 

I am trying to port an SPI driver from a project for the NRF51822 to an NRF52832 and running into a problem reading more than two bytes. We are using SPI0 (not SPIM0) connected to an external flash chip.

Below is an image capturing an example of the problem. Here I am transmitting a command byte 0x9F (lower left) and then clocking in three bytes (lower right) from the flash chip. I expect the flash chip to transmit 0x9D 0x60 0x15 and that is exactly what I see in the waveform. However, the NRF52 only reads the 0x9D and 0x60 (which are double buffered), but it drops the 0x15. This same driver code works fine across multiple projects built for the NRF51.

Are there any known errata or issues regarding operation of the SPI peripheral on the NRF52? The only thing I can find in the documentation is the instantiation table in section 8.4 of the product specification where it says that the SPI peripheral is deprecated. But the rest of the document suggests the SPI peripheral is still supported. Are we supposed to move to the SPIM peripheral?

Parents Reply Children
No Data
Related