您好!
我正在尝试在 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