ADS1198与单片机的SPI通信
请问ADS1198与单片机的SPI通信中有段代码ADS1198_Send_CMD_One(0);
是什么意思啊?不应该发送的是command ,怎么是0的啊?
请提供源代码及其出处。
-------------------------------------------------------------------------
// 接收ADS1198多字节命令
//-------------------------------------------------------------------------
uchar ADS1198_Recive_Data(uchar cmd,uchar len,uchar dat[])
{
uchar i;
ADS1198_Send_CMD_One(cmd); // 发送接收命令第一字节+地址
ADS1198_Send_CMD_One(len-1); // 发送接收第二字节命令,接收数据长度
for(i=0;i<len;i++)
{
ADS1198_Send_CMD_One(0); // 发送SPI时钟,DOUT=0
SomeNOP();SomeNOP();SomeNOP();SomeNOP(); // 延时
SomeNOP();SomeNOP();SomeNOP();SomeNOP();
if(UCB0IFG&UCRXIFG) // 判断接收标志
{
dat[i] = UCB0RXBUF; // 接收数据字节
}
else
{
return FALSE;
}
}
return TRUE;
}
//-------------------------------------------------------------------------
这个是
ADS1198/ADS1298开发设计心得与遗留问题总结的代码,颜色标注的那句不是太懂
发送这句是为了 产生SCLK信号,方便控制器读取ads1298输出的数据,发送0,同时也保证了ads1298的DIN端口保持为0