Post Go back to editing

SPI Flow Control in ADuCM3029 not working

Hello All,

I´m developing a solution using 2 MCUs. The slave is wake up from SPI request and needs some time to deliver data to the master (Data just is transferred from slave to master). Because slave needs delay to start delivery data, I tried to apply flow control in ADuCM3029 master, but it did not work.

I used spi_ms_loop_back example as base and added in master configuration following code:



/* Open the SPI device. It opens in Master mode by default */
eResult = adi_spi_Open(SPI_MASTER_DEVICE_NUM,MasterSpidevicemem,ADI_SPI_MEMORY_SIZE,&hMDevice);
DEBUG_RESULT("Failed to init SPI driver",eResult,ADI_SPI_SUCCESS);

/* Set flow mode */
eResult = adi_spi_SetFlowMode(hMDevice,ADI_SPI_FLOW_MODE_TIMER);
DEBUG_RESULT("Failed to set flow mode",eResult,ADI_SPI_SUCCESS);

/* Set wait timer */
eResult = adi_spi_WaitTime(hMDevice,25);
DEBUG_RESULT("Failed to set Wait Time",eResult,ADI_SPI_SUCCESS);

/* Set the bit rate */
eResult = adi_spi_SetBitrate(hMDevice, 1000000);
DEBUG_RESULT("Failed to set Bitrate",eResult,ADI_SPI_SUCCESS);

/* Set the chip select. */
adi_spi_SetChipSelect (hMDevice, ADI_SPI_CS0);
DEBUG_RESULT("Failed to set chipselect",eResult,ADI_SPI_SUCCESS);


I not have any delay between CS event and first SPI clock.