This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1230的输出数据不对,不明白怎么回事



刚开始能够得到正确的结果,但是一段时间后,AD输出就不对了。

第一天的数据

00 00 20

 00 10 35 

类似的数据,这些数据是对的,接传感器,返回数据可以对应重量

然后第二天

00 1E BA

00 04 7C

00 00 6A 

然后第三天

0F FB 1A

0F FB 19

0F FB 1C
这是什么情况,求指教?

unsigned long ReadAD(void)
{
unsigned char i=0;
unsigned long ADdatatemp=0; //设置AD转换的初始值为0
while(ADC_RDY1); //RDY = 0??等待AD转换完成
for(i = 0;i < 20;i ++) //获取20位数据
{
ADdatatemp = ADdatatemp << 1;
ADC_SCLK1 = 1; //CLK = 1
if(ADC_DOUT1 == 1)
ADdatatemp = ADdatatemp | 0x000001;
else
ADdatatemp = ADdatatemp & 0xFFFFFE;
ADC_SCLK1 = 0; //CLK = 0
}
for(i = 0;i < 4;i ++) //为下一次转换准备
{
ADC_SCLK1 = 1;
ADC_SCLK1 = 0; //CLK = 0
}
return(ADdatatemp);
}