Topics

spi_transceive() does not clock out the SCK for receiving #spi


@yasokada
 

My Environment:
Ubuntu 18.04 LTS
Board: STM32F769 Discovery Kit
RTOS: Zephyr 2.1.0-rc1
Oscilloscope: Analog Discovery 2
SPI device: SRAM memory (23K256)

I am trying to use SPI with my SRAM memory (23K256).
I used spi_transceive() to send and receive with the SRAM memory.
The spi_transceive() can transmit 0x02 0x00 0x10 0xFA with my_spi_tranceive(spi, &spi_cfg, txbufs, 4, NULL, 0);
However, the next spi_transceive() only transmit 0x03 0x00 0x10 with  my_spi_tranceive(spi, &spi_cfg, txbufs, 3, rxbufs, 1);
then, the SCK clock for reading the one byte does not occur.

I also tried by loopbacking the SPI, resulting in same result.

I thought spi_transceive() can send and then receive with SPI device.

What am I missing?

Here is the logic capture when running main.c
(left side is 0x02 0x00 0x10 0xFA, right side is 0x03 0x00 0x10, then without SCK for receiving)