ADS1256可以读寄存器的数据,但是读取不了电压的数据
我用普通GPIO的方式模拟SPI总线的方式去模拟,向寄存器写入了数据,然后再将他读取出来,数据是正确的,但是当我发送完sync、wakeup和radata命令后,读取电压的数据一直为0,这是怎么回事?
unsigned int value = LOW;
while(1)
{
gpio_get_value(DRDY, &value);
if (!value)
break;
}
ADS1256SPI(ADS1256_CMD_SYNC); //ADS1256转换指令
ADS1256SPI(ADS1256_CMD_WAKEUP); //ADS1256唤醒指令
while(1)
{
gpio_get_value(DRDY, &value);
if (!value)
break;
}
ADS1256SPI(ADS1256_CMD_RDATA); //ADS1256转换指令
gpio_set_value(SCLK, LOW);
DelayMs(DELAY_1US*100);
先看看有没有启动转换呢?
第一条为SCLK,第二条为发送rdata,第三条为DRDY,怎么看有没有转换?
时序是对的,数据线DOUT上一直是低电平吗
对,DOUT一直都是低电平,这怎么回事啊?THX
寄存器配置是怎样的?单次还是连续转换?电源电压、参考电压都正常吗
readDrdyLowLevel();
ADS1256SPI(ADS1256_CMD_SELFCAL);
readDrdyHighLevel();
readDrdyLowLevel();
ADS1256WREG(ADS1256_STATUS,0xf7);
ADS1256WREG(ADS1256_MUX,0x18);
ADS1256WREG(ADS1256_ADCON,0x00);
ADS1256WREG(ADS1256_DRATE,ADS1256_DRATE_50SPS);
readDrdyLowLevel();
ADS1256SPI(ADS1256_CMD_SELFCAL);
readDrdyHighLevel();
readDrdyLowLevel();
单次采集,电压电压、参考电压都正常,刚才不知道为什么可以读到正常的电压数据,但是后来重新运行程序就不行了。
你好,这个问题怎么出来啊?
对某个寄存器写操作后,再读取,看是否设置成功?
设置成功,但是电压数据还是读不出来!还是原来那样
你好,我做ADS1256的模拟数据采集的时候,遇到些问题,可否加qq,或者微信聊一下