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.

求助,关于CC2650 SPI从模式收不到数据的问题。

Other Parts Discussed in Thread: CC2650

我这边使用CC2650的SPI模块与单片机进行通信,具体的SPI程序如下:

static void transferCallback(SPI_Handle ghSpiHdl, SPI_Transaction *slaveTranData)
{
 
   events |= SBP_MSPI_SEND_EVT;
  // Start another transfer
   SPI_transfer(ghSpiHdl, slaveTranData);
   Semaphore_post(sem);
    
}

 SPI_Handle ghSpiHdl = NULL;
  SPI_Params ltSpiParams = {0};
  SPI_Transaction slaveTranData;
 
  SPI_Params_init(&ltSpiParams);
  ltSpiParams.bitRate = 1000000; 
  ltSpiParams.frameFormat = SPI_POL1_PHA1;
  ltSpiParams.mode = SPI_SLAVE;
  ltSpiParams.transferMode = SPI_MODE_CALLBACK;
  ltSpiParams.transferCallbackFxn = transferCallback;
   
  slaveTranData.count = 20;              //所要写的数据长度,字节单位
  slaveTranData.txBuf = MTranBuf;          //所要被写数据的地址
  slaveTranData.rxBuf = MRecvBuf;       //接收数据所存放的地址
 
  ghSpiHdl = SPI_open(Board_SPI0, &ltSpiParams);
  SPI_transfer(ghSpiHdl, &slaveTranData);

实验现象如下:在线调试直接跳过了SPI transfer,但使用示波器去测量CS,CLK,MOSI引脚均有数据。

请问是我SPI程序哪里有问题吗?

望指教,谢谢!