TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS8317 采集问题

 如图,采集出来的结果竟然是32768 的数字,(我把输入接地后,跟不接地,均是32768)。求大神指点。。。

uint16 Read_ADS8317()
{
uint16 AD_Value=0,i=0;
// delay_us(1);
AD_CS_L;//SCLK_H;
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);
AD_CLK_L;delay(72);
AD_CLK_H;delay(72);

for(i=0;i<16;i++)
{ AD_CLK_L;
delay(72);
AD_CLK_H;
AD_Value = AD_Value << 1;
if(AD_DA_IN)
{
AD_Value = AD_Value | 0x0001;
} delay(72);
} AD_CS_H;

return AD_Value;
}

Wanda WANG:

估计是时序问题。最好用示波器把波形抓出来分析。 另外需要确定delay(72)延迟时间是多少?

jesliebest:

请问楼主这段代码还在么?想模拟spi一直没写出来,能发给我么?

panpan ren:

回复 jesliebest:

有啊,帖子上不就有吗

jesliebest:

回复 panpan ren:

能说说dalay函数怎么写的么。。。谢谢啦

panpan ren:

回复 jesliebest:

哦,是这样的,我的单片机主频72MHZ,然后delay函数是这样,很简单

void delay(long x)

{

     while(x–);} 

所以72的话,应该要大于1US的时间

jesliebest:

回复 panpan ren:

嗯,谢谢,我再试试

赞(0)
未经允许不得转载:TI中文支持网 » ADS8317 采集问题
分享到: 更多 (0)