各位大哥 我看了一个DEMO只读SI4432的数据是这样的 一下函数给形参为0X00 最后的返回值竟然不为0X00,跟着程序走了好几遍 感觉太奇怪了,有搞过SI4432的大哥又遇到过这个问题吗?
unsigned char spi_byte(unsigned char TRdata)
{
unsigned char i;
for (i = 0; i < 8; i++) // 控制SCK 和 SDI,发射一个字节的命令,同事读取1个字节的数据
{ // 没有包括nSEL的控制
if (TRdata & 0x80)
SDI = 1;
else
SDI = 0;
TRdata <<= 1;
SCK = 1;
P1MDIN&=0XF6;
if (SDO)
TRdata |= 0x01;
else
TRdata &= 0xfe;
SCK = 0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
unsigned char spi_byte(unsigned char TRdata)
{
unsigned char i;
for (i = 0; i < 8; i++) // 控制SCK 和 SDI,发射一个字节的命令,同事读取1个字节的数据
{ // 没有包括nSEL的控制
if (TRdata & 0x80)
SDI = 1;
else
SDI = 0;
TRdata <<= 1;
SCK = 1;
if (SDO)
TRdata |= 0x01;
else
TRdata &= 0xfe;
SCK = 0;
}
return (TRdata);
}
非常奇怪 代码已补全 请留意跟帖
这个值我拿他有用哈 代码已贴全 请留意跟帖
一周热门 更多>