Part Number:LAUNCHCC3220MODASF
Tool/software: Linux
Hi support;
I have config code of me as below.
.minDmaTransferSize I must configure how reasonable.
static unsigned char tx_buffer_spi[816] = {0};
static unsigned char rx_buffer_spi[816] = {0};
void spi_slave_init_handler()
{
SPI_Params spiParams1;
if(spi_slave_init == 0)
{
UART_PRINT(ANSI_COLOR_YELLOW"[Slave SPI Start Init]\n\r"ANSI_COLOR_RESET);
SPI_Params_init(&spiParams1);
spiParams1.frameFormat = SPI_POL0_PHA0;
spiParams1.mode = SPI_SLAVE;
spiParams1.transferMode = SPI_MODE_BLOCKING;
spiParams1.transferTimeout = 1021;
/* spiParams1.transferMode = SPI_MODE_CALLBACK;
spiParams1.transferCallbackFxn = transferFxn1;*/
spiParams1.dataSize = 8;
slaveSpi1 = SPI_open(Board_SPI_SLAVE, &spiParams1);
if (slaveSpi1 == NULL)
{
UART_PRINT(ANSI_COLOR_RED "Error initializing slave SPI\n\r"ANSI_COLOR_RESET);
while (1);
}
else
{
UART_PRINT(ANSI_COLOR_GREEN"Slave SPI Init Done [%u]\n\r"ANSI_COLOR_RESET,slaveSpi1);
}
}
if(spi_slave_init == 0)
{
transaction1.count = 816;
transaction1.txBuf = tx_buffer_spi;
transaction1.rxBuf = rx_buffer_spi;
spi_slave_init = 1;
// spi_tranfer_handler();
}
// spi_slave_init = 1;
// SPI_close(slaveSpi);
}
.baseAddr = GSPI_BASE,
.intNum = INT_GSPI,
.intPriority = (~0),
.spiPRCM = PRCM_GSPI,
.csControl = SPI_HW_CTRL_CS,
.csPolarity = SPI_CS_ACTIVELOW,
.pinMode = SPI_4PIN_MODE,
.turboMode = SPI_TURBO_OFF,
.scratchBufPtr = &spiCC3220SDMAscratchBuf[CC3220SF_LAUNCHXL_SPI1],
.defaultTxBufValue = 0,
.rxChannelIndex = UDMA_CH6_GSPI_RX,
.txChannelIndex = UDMA_CH7_GSPI_TX,
.minDmaTransferSize = 200,
.mosiPin = SPICC32XXDMA_PIN_07_MOSI,
.misoPin = SPICC32XXDMA_PIN_06_MISO,
.clkPin = SPICC32XXDMA_PIN_05_CLK,
.csPin = SPICC32XXDMA_PIN_08_CS
thanks