I'm using spi_transceive_dt() to write a register read command then immediately read back 16 bits. However, despite having a receive buffer of 16, only 8 read bits are transmitted by the function. Why is this?
transceive on a logic analyzer:
static uint8_t tx_buffer[1]; const struct spi_buf tx_buf = { .buf = tx_buffer, .len = sizeof(tx_buffer)}; const struct spi_buf_set tx = { .buffers = &tx_buf, .count = 1}; static uint8_t rx_buffer[2]; struct spi_buf rx_buf = { .buf = rx_buffer, .len = sizeof(rx_buffer), }; const struct spi_buf_set rx = { .buffers = &rx_buf, .count = 1}; spi_transceive_dt(&cadc_spi_spec, &tx, &rx);