Other Parts Discussed in Thread: 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…
Other Parts Discussed in Thread: ADS1256 最近在写ADS1256的程序,根据datasheet里Figure19所示,当DRDY变低时,改变寄存器MUX的值,然后写SYNC,WAKEUP,和RDATA指令,此时得到的数据是之前MUX寄存器的值选通的AINp-AINn的转换结果。 如果我只是想得通道4和5的差值,那么我在给MUX写45h,SYNC,WAKEUP,RDATA之后,还得需要再改变MUX寄存器的值,写 SYNC,WAKEUP,RDATA指令 才能得到AINp4…
Other Parts Discussed in Thread: ADS1256 我的电路是用来检测光电池(一种光电二极管)受光照后产生的电流大小
如图:ADS1256我采用单端输入,如果配置成内部缓冲器关闭,则测量R17电阻两端电压,有10mV的压降,这样算出来刚好有10uA电流流过电阻,这个电流不是V15钳位二极管的漏电流(因为我把V15去掉后这个电流仍然存在),肯定是从ADS1256模拟输入脚流出的;
如果将ADS1256内部缓冲区开启,则这个电流就消失了;
如果说这个电流是ADS1256内部采样电容的充电电流…
Other Parts Discussed in Thread: CC2530 在使用 ADS1256 采集电压时,无论是使用单端采集还是差分采集(测试输入电压都为负值),在输出端DOUT采集到的24位数据在最高位都无法变为1一直为0,所以采集得到的数据都是正的;如图中我采集的电压为-0.82v,但得到的数据却为+4.17v。
我采用差分采集方式: 我的VREF=2.5V,PGA=1;在2.5v范围内测试的话,在AINP端输入电压为0V,在AINN端输入电压为+2.0V,按照手册应该得到的电压为VIN=AINP…