主题中讨论的其他器件:CC3220SF
工具/软件:Linux
你好,支持。
我有如下所示的配置代码。
.minDmaTransferSize I 必须 配置合理性。
静态无符号 char TX_buffer_SPI[816]={0};
静态无符号字符 Rx_buffer_SPI[816]={0};
void spi_slave_init_handler ()
{
SPI_Params 参数1;
if (SPI_SLAVE_INIT = 0)
{
UART_PRINT (ANSI_COLOR_YLEN"[从 SPI 启动初始化]\n\r\n"ANSI_COLOR_RESET);
SPI_PARAMS_INIT (&spiParams1);
spiParams1.frameFormat = SPI_POL0_PHA0;
spiParams1.mode = SPI_SLAVE;
spiParams1.transferMode = SPI_MODE_BLOCKING;
spiParams1.transferTimeout = 1021;
/*参数 spi1.transferMode = SPI_MODE_CALLM;
spiParams1.transferCallbackFxn = transferFxn1;*/
spiParams1.dataSize = 8;
slaveSpi1 = SPI_open (Board_SPI_slave、&spiParams1);
if (slaveSpi1 ==空)
{
UART_PRINT (ANSI_COLOR_RED "初始化从器件 SPI\n\r\n"ANSI_COLOR_RESET);
while (1);
}
其他
{
UART_PRINT (ANSI_COLOR_GREEN "从器件 SPI 初始化完成[%u]\n\r\n"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_transfer_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、
MISO 引脚= SPICC32XXDMA_PIN_06_MISO、
clkPin = SPICC32XXDMA_PIN_05_CLK、
csPin = SPICC32XXDMA_PIN_08_CS
谢谢