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

How many max SPI slave sensor I can connect with Nrf52840 via SPIM

Hello Folks,

I am using PCA 10056 Eval board. I am using SPIM0 to connect 5 slave sensors. The Chip select is done by the UART Tx pin. So If I send 0x01 over UARt then the sensor- 1 will be selected.

UART Tx byte -- Sensor 0x01 -- 1 0x02 -- 2 etc

Sensors are LSM6DSL

I have five sensors connected via SPIM0 to nordic nrf52840. I am only able to get the reading from 1 or 2 sensors only which is connected closely to nordic. Is there any max limit with the current SPIM hardware and software limitations in terms of max slaves?

ALso, How to change the CS duration and RX delay timing of the SPIM hardware using the SDK 14?

Thank you

Parents
  • @Dave_Couling of course you can use nrf_delay() when using the softdevice. If the softdevice needs to interrupt you, it will interrupt you, there is no effect on timing. I don't recommend using it in general because it stinks of bad synchronous code and I don't recommend using it or any long-running piece of code which is running in an interrupt handler with higher priority than the softdevice low priority interrupt as that prevents the SD from cleaning up as fast as it likes, however it is not correct to say that nrf_delay() affects the softdevice timings, it absolutely does not.

Reply
  • @Dave_Couling of course you can use nrf_delay() when using the softdevice. If the softdevice needs to interrupt you, it will interrupt you, there is no effect on timing. I don't recommend using it in general because it stinks of bad synchronous code and I don't recommend using it or any long-running piece of code which is running in an interrupt handler with higher priority than the softdevice low priority interrupt as that prevents the SD from cleaning up as fast as it likes, however it is not correct to say that nrf_delay() affects the softdevice timings, it absolutely does not.

Children
No Data
Related