智能车制作
标题:
SPI读回的数据全是0,这是什么问题啊?
[打印本页]
作者:
qaabq
时间:
2013-10-20 15:08
标题:
SPI读回的数据全是0,这是什么问题啊?
在用模拟SPI和Si4432通讯的时候,从Si4432中读回的数据全是0,这是什么原因啊?
unsigned char spi_byte(unsigned char data)
{
unsigned char i;
for (i = 0; i < 8; i++)// 控制SCK 和 SDI,发射一个字节的命令,同事读取1个字节的数据
{ // 没有包括nSEL的控制
if (data & 0x80)
SDI = 1;
else
SDI = 0;
data <<= 1;
SCK = 1;
if (SDO)
data |= 0x01;
else
data &= 0xfe;
SCK = 0;
}
return (data);
}
SCK = 0;
nSEL = 0;
spi_byte(0x7f);
for(i = 0;i<10;i++)
{
rx_buf
= spi_byte(0xFF);
}
nSEL = 1;
作者:
月亮好圆
时间:
2013-10-20 17:30
if (SDO)
data |= 0x01;
else
data &= 0xfe;
建议楼主把上面这一块改为:
date|=SDO;可以试一下,本人菜鸟,之前这样用过,正常
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2