求助:cc2640 在从机工程中添加 spi从模式写的第一个字节为0
时间:10-02
整理:3721RD
点击:
cc2640配置spi从模式时,收到主模式的数据同时回一个数据,回数据的第一个字节出错,收到的数据是正常的。
它是在spi主模式的时钟极性与相位设置为11时从模式也设置为11时发生的。另外spi从模式的片选脚是自己定义的,每收到一个片选信号调用一次SPI_transfer
求大神告知原因
今天试了一下主模式00,从模式00,发现MISO没有数据,主模式00,从模式11和主从都是11的现象一样。

回数据时加点延时看看,有可能从机还未就绪,第一个字节出错多为信号不稳
首先谢谢@Viki Shi,
我的spi主模式拉低片选会延时大概1.25ms才开始传输数据,另外我想问一下回数据延时应该怎么做?spi从模式不是收到数据的同时回数据吗?
另外我可以确定spi从模式收到的数据是没问的

SPI_transfer里有发送回传字节的部分,找找其中的tx_buf段,在这之前加个延时试试
@Viki Shi 你好
我没能明白你说的是在哪里加上延时,另外我想问一下SPI_transfer函数是有读写功能的吧
transaction.count = 16;
transaction.txBuf = tbuf;
transaction.rxBuf = rbuf;
SPI_transfer(handle, &transaction);
函数原型:bool SPI_transfer(SPI_Handle handle, SPI_Transaction *transaction)
{
return (handle->fxnTablePtr->transferFxn(handle, transaction));
}
