你好:
我通过CC2530 SPI 接口接外部SPI 接口数据,出现cc2530 spi接收到的数据不对。我cc2530 spi 配置为主机模式,同时允许接收。
我spi配置的代码如下:
U1CSR &= 0x7f ; //SPI Master Mode
U1CSR |= 0x40; //设置为spi主机,允许接收
// Configure phase, polarity, and bit order U1GCR &= ~0x80 ; // CPOL = 0,CPHA = 0
U1GCR |= 0x20 ; // ORDER = 1
spi读数据代码:
char spi_read_data()
{
char rxBuffer = 0x00 ;
U1DBUF = 0xff ;
while(0==(U1CSR&(1<<1))); //直到发送完成
rxBuffer = U1DBUF ;
U1CSR&=~(1<<1);
return rxBuffer ;
}
如:我外部SPI输出数据为0x08时,cc2530 spi接收到得数据为:0x04
liangfei lv:
TI 你好!
上图中的波形分别为:CC2530 spi SCLK和miso(黄色)接口输入波形,我通过CC2530 读取miso输入信号,我读到的值分别为:0x04 0x64 0xc0,
cc2530 spi读到的数据与示波器显示的数据不一致,我从示波器观察得到的数据:0x08 0xc9 0x80 ,请ti工程师帮忙分析一下其中原因,万分感谢!
CZ:
把CPOL ,CPHA修改为其他配置试试。看起来应该是时钟采样点不对。