After initialization, pin 0 will be configured as the ss_pin by default

After initialization, pin 0 will be configured as the ss_pin by default

Hello.
Can you tell a bit detail about your issue? Which application you are trying to use? What is the NCS version and SoC?
Using the nRF low-level driver SPIM to drive the WS2818 lights, initializing only with the .mosi_pin pin, which is P0.17. The ss_pin is set to NRF_SPIM_PIN_NOT_CONNECTED to indicate it is not used. After initialization, as shown in Figures 1.2 above, P0.0 is used as the default ss_pin. When using nrfx_spim_uninit(&spi_ws2812), it will call this function for P0.0:
static void spim_pin_uninit(uint32_t pin)
{
if (pin == NRF_SPIM_PIN_NOT_CONNECTED ||
#if defined(SPIM_DCX_DISCONNECTED_READBACK)
pin == SPIM_DCX_DISCONNECTED_READBACK ||
#endif
0)
{
return;
}
nrfy_gpio_cfg_default(pin);
}
My P0.0 pin is being used by other peripherals, so after calling nrfx_spim_uninit(&spi_ws2812), it causes issues with the other peripherals.
My P0.0 pin is being used by other peripherals, so after calling nrfx_spim_uninit(&spi_ws2812), it causes issues with the other peripherals.
Issue resolved. After switching from SDK 3.11 to 3.21, the original struct required the const modifier. In 3.21, const can no longer be used, and using it causes ss_pin to default to 0 and become unmodifiable.