Hello,
I'm trying to use th nRF52832 as a slave SPI device but in the examples "spis" I see the firmware uses DMA.
Can I use it without DMA?
Also, what is the difference between SPIS1 and SPIS0?
Hello,
I'm trying to use th nRF52832 as a slave SPI device but in the examples "spis" I see the firmware uses DMA.
Can I use it without DMA?
Also, what is the difference between SPIS1 and SPIS0?
Hi
There is no reason not to use DMA in the nRF52832.
The reason we support both is that the older nRF51 devices didn't support DMA in the SPIM interface. In the nRF52 devices, the SPIM interface supports DMA, and using DMA ensures less CPU utilization and lower current consumption, so I would recommend using it at all times.
Best regards,
Simon
Thank you for your reply, Simonr.
I'm talking about SPI as a slave.
Aren't SPIS0 and SPIS1 both slave interfaces?
EDIT: I see the master and slave are just two different peripherals which is not what I'm used to. That's why I was surprised.
But why is that? Why are master and slave different peripherals and not a "mode" in one peripheral?
Hi
Sorry I didn't answer your other question initially. SPIS0 and SPIS1 are identical, they are just different instances of the SPI slave interface, as you can configure multiple SPI instances to run simultaneously.
The reason the SPI master and slave are different peripherals in the nRF52832 is that the SPIM contains multiple other key features, like transfer from PPI, and post-incrementation of buffer addresses and repeated transfers. You can read more on these differences in the Master and Slave driver documentation respectively.
Best regards,
Simon