TI论坛
直播中

石利军

8年用户 983经验值
私信 关注
[问答]

为什么CC2650 SPI从模式收不到数据?

我这边使用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.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,   SPI_transfer(ghSpiHdl, &slaveTranData);
实验现象如下:在线调试直接跳过了SPI transfer,但使用示波器去测量CS,CLK,MOSI引脚均有数据。
请问是我SPI程序哪里有问题吗?
望指教,谢谢!

回帖(2)

蒋美燕

2019-10-30 10:10:55
请参考 例程npi_tl_spi.c,里面有CC26X0使用SPI SLAVE的代码,路径: C:tisimplelinkble_cc26xx_2_01_01_44627Componentsnpi
举报

石利军

2019-10-30 10:28:53
引用: bctwerwer 发表于 2019-10-30 11:28
请参考 例程npi_tl_spi.c,里面有CC26X0使用SPI SLAVE的代码,路径: C:tisimplelinkble_cc26xx_2_01_01_44627Componentsnpi

好的,谢谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分