I am trying to use peripheral/spis as a reference for configuring my nRF52840 DK as a slave. The SPI clock frequency is 1 MHz. The SPI master is another micro-controller.
On the first call to nrf_drv_spis_buffers_set(...), I get an interrupt event NRF_DRV_SPIS_BUFFERS_SET_DONE and after that I don't get NRF_DRV_SPIS_XFER_DONE event at all.
I can see the SPI clock, MOSI data from the master and CSN low (before master starts transmitting) on the o-scope. What could possibly be wrong?
It should work. Which pins are you using? Are you using the SPIS driver?
I have the same problem and I use the SPIS_PCA10056 example. Here's my definition of pin :
#define APP_SPIS_SCK_PIN 47
#define APP_SPIS_MISO_PIN 46
#define APP_SPIS_MOSI_PIN 45
#define APP_SPIS_CS_PIN 44
#define APP_SPIS_IRQ_PRIORITY 7
I don't undertsand why it doesn't work ...
Now it works, I had to put a delay on my master SPI Nucleo board ...
I see the same issue. I see the CS go low, clock signals as well as data that my Master MCU is supposed to send out on the MOSI line, but the MISO line is always the default char (255) and I do not get to the NRF_DRV_SPIS_XFER_DONE. Did you resolve your issue? If yes then how?
Hi Sylvain,Where in the SPI master code did you put the delay? After the master had sent a byte? Please let me know, I am having the same issue.