Hi, Nordic:
I am trying to use spi to transfer data between the two DKs. But I'm having trouble emulating the use of spim to use spis.
This is my main.c.
#define SPI_DEV_NODE DT_NODELABEL(spi1) #define SPIS_NODE DT_NODELABEL(spi1) static const nrfx_spis_t spis = NRFX_SPIS_INSTANCE(1); static bool spis_init(void) { nrfx_err_t err; nrfx_spis_config_t spis_config = NRFX_SPIS_DEFAULT_CONFIG( /* Take pin numbers from devicetree. */ DT_PROP(SPIS_NODE, sck_pin), DT_PROP(SPIS_NODE, mosi_pin), DT_PROP(SPIS_NODE, miso_pin), NRF_DT_GPIOS_TO_PSEL(SPIS_NODE, cs_gpios)); // spim_config.rx_delay = 1; // spim_config.ss_duration = 1; err = nrfx_spis_init(&spis, &spis_config, NULL, NULL); if (err != NRFX_SUCCESS) { printk("nrfx_spis_init() failed: 0x%08x\n", err); return false; } return true; }
And this is how the .dts looks like.
&spi1 { compatible = "nordic,nrf-spis"; status = "okay"; sck-pin = <42>; mosi-pin = <26>; miso-pin = <24>; cs-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; miso-pull-down; csn-pin = < 1 >; def-char = < 2 >; };
But problems occured.
I was wondering if you could provide a demo of properly initializing spis and using it to receive data?