CTL_STATUS_t ctl_spi_read(CTL_SPI_DEVICE_t *self,
                          void *rx,
                          size_t items);

ctl_spi_read read data from the SPI device self which must have been selected onto the bus by ctl_spi_select_device.

If the selected transfer width for the device dev is eight bits or narrower then items bytes are read from the SPI bus to rx. If the transfer width is nine bits or wider then item shorts are read from from SPI bus and written to rx.

If rx is zero, data are read from the SPI bus and discarded if the underlying driver supports such a null transfer. Note that some SPI drivers which use DMA may not support null transfers.