您好!
J721s2器件。 在中、我们正在处理 R5F (MCU2_1)。 在这种情况下、我们将面临 SDK 8.6的问题。 在 sdk8.4中,它工作正常,但 sdk8.6中,我们无法发送超过3 16位的数据。 强调的一点是、我们将使用免费 RTOS。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
J721s2器件。 在中、我们正在处理 R5F (MCU2_1)。 在这种情况下、我们将面临 SDK 8.6的问题。 在 sdk8.4中,它工作正常,但 sdk8.6中,我们无法发送超过3 16位的数据。 强调的一点是、我们将使用免费 RTOS。
我使用了以下初始化序列。
MCSPI_init ();
//SPI_socGetInitCfg (USS1_SPI_INST、&SPI_cfg);
SPI_socGetInitCfg (域、USS1_SPI_INST、&SPI_cfg);
SPI_cfg.baseAddr =(uint32_t) CSL_MCU_MCSPI0_CFG_base;
spi_cfg.chNum = USS1_SPI_CH;
spi_cfg.chnCfg[USS1_SPI_CH].tcs = MCSPI_CH0CONF_TCS0_ONECYCLEDLY;
spi_cfg.chnCfg[USS1_SPI_CH].dataLineCommMode = MCSPI_DATA_LINE_COMM_MODE_6;
// spi_cfg.chnCfg[USS1_SPI_CH].enableFIFO = 0u;
spi_cfg.chnCfg[USS1_SPI_CH].trMode = MCSPI_TX_RX_MODE;
spi_cfg.initDelay = MCSPI_INITDLY_0;
SPI_cfg.rxTrigLevel = 2;// MCSPI_RX_TX_FIFO_SIZE;
SPI_cfg.txTrigLevel = 2;// MCSPI_RX_TX_FIFO_SIZE;
SPI_cfg.edmaHandle = NULL;
SPI_cfg.dmaMode = false;
SPI_cfg.enableIntr = false;
spi_cfg.chMode = MCSPI_MULTI_CH;
// spi_cfg.chnCfg[USS1_SPI_CH].dmaInfo = NULL;
SPI_socSetInitCfg (域、USS1_SPI_INST、&SPI_cfg);
SPI_socGetInitCfg (域、USS2_SPI_INST、&SPI_cfg);
SPI_cfg.baseAddr =(uint32_t) CSL_MCU_MCSPI1_CFG_base;
spi_cfg.chNum = USS2_SPI_CH;
spi_cfg.chnCfg[USS2_SPI_CH].tcs = MCSPI_CH0CONF_TCS0_ONECYCLEDLY;
spi_cfg.chnCfg[USS2_SPI_CH].dataLineCommMode = MCSPI_DATA_LINE_COMM_MODE_6;
// spi_cfg.chnCfg[USS2_SPI_CH].enableFIFO = 0u;
spi_cfg.chnCfg[USS2_SPI_CH].trMode = MCSPI_TX_RX_MODE;
spi_cfg.initDelay = MCSPI_INITDLY_0;
SPI_cfg.rxTrigLevel = 2;// MCSPI_RX_TX_FIFO_SIZE;
SPI_cfg.txTrigLevel = 2;// MCSPI_RX_TX_FIFO_SIZE;
SPI_cfg.edmaHandle = NULL;
SPI_cfg.dmaMode = false;
SPI_cfg.enableIntr = false;
spi_cfg.chMode = MCSPI_MULTI_CH;
// spi_cfg.chnCfg[USS2_SPI_CH].dmaInfo = NULL;
SPI_socSetInitCfg (域、USS2_SPI_INST、&SPI_cfg);
MCSPI_PARAMS_init (&spiParamsUSS1);
spiParamsUSS1.mode = SPI_MASTER;
spiParamsUSS1.bitrate = 250000;//16000000;
spiParamsUSS1.transferMode = SPI_MODE_BLOCKING;
spiParamsUSS1.transferCallbackFxn = NULL;
spiParamsUSS1.transferTimeout = 0xFFFFFFFF;
spiParamsUSS1.frameFormat =(SPI_FrameFormat)frameFormatEVS[1];
spiParamsUSS1.dataSize = 16;
MCSPI_PARAMS_init (&spiParamsUSS2);
spiParamsUSS2.mode = SPI_MASTER;
spiParamsUSS2.bitrate = 250000;//16000000;
spiParamsUSS2.transferMode = SPI_MODE_BLOCKING;
spiParamsUSS2.transferCallbackFxn = NULL;
spiParamsUSS2.transferTimeout = 0xFFFFFFFF;
spiParamsUSS2.frameFormat =(SPI_FrameFormat)frameFormatEVS[1];
spiParamsUSS2.dataSize = 16;
我没有参考任何示例、但我在8.4 SDK 中使用了 SPI、与在 SDK 8.6上使用的相同。