您好!
我正在尝试在 CC1352R 上初始化 SPI 从器件、但 SPI_OPEN 保持返回 NULL。 有人能告诉我我我出了什么问题吗? 请注意、我使用的是 SDK 3.20.0.68
SPI_Params spi_params;
//Create synchronization semaphore
sem_init(&_g_spi_semaphore, 0, 0);
SPI_Params_init(&spi_params);
spi_params.frameFormat = SPI_POL0_PHA0;
spi_params.mode = SPI_SLAVE;
spi_params.transferCallbackFxn = spi_transfer_complete_callback;
spi_params.transferMode = SPI_MODE_CALLBACK;
_g_spi_slave_handle = SPI_open(Board_SPI_SLAVE, &spi_params);
if(_g_spi_slave_handle == NULL)
{
while (1);
}
来自 CC1352R1_LAUNCHXL.c 的 SPI 实例对象定义
/*
* NOTE: The SPI instances below can be used by the SD driver to communicate
* with a SD card via SPI. The 'defaultTxBufValue' fields below are set to 0xFF
* to satisfy the SDSPI driver requirement.
*/
const SPICC26X2DMA_HWAttrs spiCC26X2DMAHWAttrs[CC1352R1_LAUNCHXL_SPICOUNT] = {
{
.baseAddr = SSI0_BASE,
.intNum = INT_SSI0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI0,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1<<UDMA_CHAN_SSI0_RX,
.txChannelBitMask = 1<<UDMA_CHAN_SSI0_TX,
.mosiPin = CC1352R1_LAUNCHXL_SPI0_MOSI,
.misoPin = CC1352R1_LAUNCHXL_SPI0_MISO,
.clkPin = CC1352R1_LAUNCHXL_SPI0_CLK,
.csnPin = CC1352R1_LAUNCHXL_SPI0_CSN,
.minDmaTransferSize = 10
},
{
.baseAddr = SSI1_BASE,
.intNum = INT_SSI1_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI1,
.defaultTxBufValue = 0xFF,
.rxChannelBitMask = 1<<UDMA_CHAN_SSI1_RX,
.txChannelBitMask = 1<<UDMA_CHAN_SSI1_TX,
.mosiPin = CC1352R1_LAUNCHXL_SPI1_MOSI,
.misoPin = CC1352R1_LAUNCHXL_SPI1_MISO,
.clkPin = CC1352R1_LAUNCHXL_SPI1_CLK,
.csnPin = CC1352R1_LAUNCHXL_SPI1_CSN,
.minDmaTransferSize = 10
}
};
/* SPI Board */ #define CC1352R1_LAUNCHXL_SPI0_MISO IOID_29 /* RF1.20 */ #define CC1352R1_LAUNCHXL_SPI0_MOSI IOID_28 /* RF1.18 */ #define CC1352R1_LAUNCHXL_SPI0_CLK IOID_30 /* RF1.16 */ #define CC1352R1_LAUNCHXL_SPI0_CSN IOID_26 #define CC1352R1_LAUNCHXL_SPI1_MISO PIN_UNASSIGNED #define CC1352R1_LAUNCHXL_SPI1_MOSI PIN_UNASSIGNED #define CC1352R1_LAUNCHXL_SPI1_CLK PIN_UNASSIGNED #define CC1352R1_LAUNCHXL_SPI1_CSN PIN_UNASSIGNED