Post Go back to editing

AD7606读出的数据都是v1:1b3a v2:1a1d v3:1be2 v4:20d9 v5:1b27 v6:1bac v7:19ff v8:1b47,这是八个通道的数据,所有的数据都是在这个基础上下,busy,convstAB通过示波器是正常的,但是busy的时间好像有点长,REFCAP是4.5v,REFIN/OUT是2.5v,电源输入4.9V,DRIVE是4.9

uint8_t AD7606_readConversionValue(u16 *data)
{

char i,j;
uint16_t count=0;
AD7606_CONAB_HIGH();
AD7606_CS_HIGH();
AD7606_RD_HIGH();
AD7606_reset();
i = AD7606_BUSY_STATE();
printf("1busy=%d\r\n",i);
AD7606_startConv();

i = AD7606_BUSY_STATE();
while(i!=1)
{
//printf("3busy=%d\r\n",i);
LED2(0);
i = AD7606_BUSY_STATE();
count++;
if(count==10000)
{
count=0;
return 1;
}
}
while(i)
{
printf("3busy=%d\r\n",i);
LED2(0);
i = AD7606_BUSY_STATE();
count++;
if(count==10000)
{
count=0;
return 1;
}
}
i = AD7606_BUSY_STATE();
printf("3busy=%d\r\n",i);
LED2(1);
AD7606_CS_LOW();
for(j=0;j<8;j++)
{
AD7606_RD_LOW();delay_us(1);

data[j]=AD7606_READ_DATA();
AD7606_RD_HIGH();delay_us(1);
}
AD7606_CS_HIGH();
for(j=0;j<8;j++)
{
printf("v%d:%x\r\n",j+1,data[j]);
}

return 0;
}
/************************************************

*************************************************/
void AD7606_reset(void)
{
AD7606_RST_LOW();
delay_us(1);
AD7606_RST_HIGH();
delay_us(1);
AD7606_RST_LOW();
delay_us(1);
}
/************************************************

*************************************************/
void AD7606_startConv(void)
{
AD7606_CONAB_LOW();
delay_us(1);
AD7606_CONAB_HIGH();
//delay_ns(100);
//delay_us(1);

}