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

nrf52832 SPI read transfer after write

Hi,

I discovered unusual behaviour in a SPI read transfer.

My transfer consists of writing one byte (peripheral register address) and receiving one byte (contents of the written register address).

When this transfer is executed once it goes flawless, but when this transfer is done repeatedly, say every 500ms, in half of the transfers (alternately) there is no SPI CLK generated for the receive byte.

Here is a picture of a good transfer: image description

Here is a picture of a bad transfer: image description

This is the function I use for the SPI transfer (blocking mode):

nrf_drv_spi_transfer( &spi0_instance, &addr_plus_wnr, 1, buffer, size );

where buffer is a pointer to a uint8_t buffer and size is 1.

Is there an explanation for this behaviour and how can I fix this?

Thanks in advance, Jan Roorda

Related