请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3220MOD 主题中讨论的其他器件:CC3220SF、
工具/软件:Code Composer Studio
我有以下代码可从具有 SPI 从器件的传感器读取到 CC3220MOD (SPI 主器件)
uint8_t spi_read_8bits (spi_handle SPI、uint8_t StartAddress、uint8_t * RxBuffer、uint8_t NREGS){ SPI_Transaction spiTransaction; uint8_t TxBuffer[32]; 布尔 转让; TxBuffer[0]=(StartAddress + 0x80); TxBuffer[1]= 0x00; spiTransaction.count = NREGs+1; spiTransaction.txBuf =(void *) TxBuffer; spiTransaction.rxBuf =(void *) RxBuffer; transferOK = SPI_transfer (SPI、&spiTransaction); 退货(转让? 0:1); }
我还在使用逻辑分析仪监听 SPI 端口。 它表明 MOSI、MISO、SCLK、SPI_CS 信号正常、并且符合传感器的规格。
但 RxBuffer 不包含我在逻辑分析仪中看到的相同数据。 我已经尝试了 SPI 主器件的多种配置、但没有成功。
我正在使用的 SPI 的配置是
{ baseAddr = GSPI_base、 .intNum = INT_GSPI、 .intPriority =(~0)、 spiPRCM = PRCM_GSPI、 .csControl = SPI_SW_CTRL_CS、 csPolarity = SPI_CS_ACTIVELOW、 .pinMode = SPI_4PIN_MODE、 .TurboMode = SPI_Turbo_OFF、 scratchBufPtr =&spiCC3220SDMAscratchBuf[CC3220SF_STARPORTS_SPI1]、 defaultTxBufValue = 0、 .rxChannelIndex = UDMA_CH6_GSPI_RX、 txChannelIndex = UDMA_CH7_GSPI_TX、 .minDmaTransferSize = 10、 .mosipin = SPICC32XXDMA_PIN_07_MOSI、 MISO 引脚= SPICC32XXDMA_PIN_06_MISO、 clkPin = SPICC32XXDMA_PIN_05_CLK、 .csPin = SPICC32XXDMA_PIN_08_CS }
提前感谢
Andoni