Hi
The slave select (ss) pin during the spi communication is always low even when i make it high to release the spi bus. It looks to me that I'm not actually controlling the ss pin.
I am using nrf52840, soft device is enabled.
My spi open code looks like following:
bool spi_open(uint8_t index, nrf_drv_spi_frequency_t freq, nrf_drv_spi_mode_t mode)
{
if (index == SPI0)
{
nrf_drv_spi_config_t spi0_config = NRF_DRV_SPI_DEFAULT_CONFIG;
spi0_config.miso_pin = SPI0_MISO_PIN;
spi0_config.mosi_pin = SPI0_MOSI_PIN;
spi0_config.sck_pin = SPI0_SCK_PIN;
spi0_config.ss_pin = SDCARD_CS1;
spi0_config.frequency = freq;
spi0_config.mode = mode;
spi0_config.orc = 0x00;
APP_ERROR_CHECK(nrf_drv_spi_init(&spi_0, &spi0_config, NULL, NULL)); // with blocking mode
}
else if (index == SPI1)
{
nrf_drv_spi_config_t spi1_config = NRF_DRV_SPI_DEFAULT_CONFIG;
spi1_config.miso_pin = SPI1_MISO_PIN;
spi1_config.mosi_pin = SPI1_MOSI_PIN;
spi1_config.sck_pin = SPI1_SCK_PIN;
#if (SDCARD == ON)
spi1_config.ss_pin =SDCARD_CS;
#endif
spi1_config.frequency = freq;
spi1_config.mode = mode;
spi1_config.orc = 0x00;
APP_ERROR_CHECK(nrf_drv_spi_init(&spi_1, &spi1_config, NULL, NULL)); // with blocking mode
}
}