这是我写的使用模拟SPI读取ADS127L01数据的程序,有使用过的大神可以帮忙解答一下吗?能否提供一下参考程序?
SET_START_ADS127L01; //拉高START引脚
while(READ_READY_ADS127L01() != 0) //默认高电平
{
}
CLR_CS_ADS127L01; //拉低片选信号
for(i = 0; i < 3; i++) // 循环读三个字节
{
for(j = 0; j < 8; j++)
{
pbuf[i] <<= 1;
SET_SCLK_ADS127L01; //拉高时钟
SET_SCLK_ADS127L01;
CLR_SCLK_ADS127L01; //拉低时钟
CLR_SCLK_ADS127L01;
pbuf[i] |= READ_SDO_ADS127L01(); //读取SDO的信号
}
}
DelayNus(1);
SET_CS_ADS127L01; //拉高片选
CLR_START_ADS127L01; //拉低START引脚
Kailyn Chen:
您现在用示波器测下来的SPI时序正常吗?采集数据不准确的话,很有可能是和时序有关的。
user5762681:
回复 Kailyn Chen:
我还没在示波器看过,不过我可以用这个时序准确的读写ADS127L01寄存器的值,很疑惑为什么读取采样的数据时就不行
chen lei1:
回复 Kailyn Chen:
请问ADS127L01在spi接口模式下读采样数据需要在ready信号变低后发RDATA命令吗,还是说可以直接读取数据?
Kailyn Chen:
回复 chen lei1:
您好,您的问题解决了吗? 我认为在读取数据前需要发RDATA命令。