已回答假定已回答

STM32读取AD7685问题

zjlywjh001 在 2016-5-19 詢問的問題
最後回覆由hpkamen於2016-6-5提供

最近用AD7685来做模拟信号采样,用STM32F103去读取的时候,发现无论哪种时序,读出来的不是全0就是全F,不知道是程序问题还是硬件设计的有问题,求各位朋友帮忙看看。我的原理图如下:

ad7685.PNG

然后我读取的时序是参照官方的example写的,不知道哪里写的有问题?

下面是我写的程序:

u16 AD7685_sample(void) //CS_3wire_with_busy

{

//

  char i;

  int in;

 

  SDI_1;

  SCLK_1;

 

 

 

  CNV_0;

  CNV_1;

  CNV_0;

 

  while (SDO==1);

 

  SCLK_0;

  SCLK_1;

 

  for (i=0;i<16;i++)

  {

  SCLK_1;

  in = (in<<1) | (SDO);

  SCLK_0;

  }

 

  SCLK_1;

  CNV_1;

 

  return in;

 

}

实际用逻辑分析仪测试的时候发现,当CNV脚为低电平的时候,SDO就为低电平,CNV为高电平的时候,SDO马上变成高电平,所以造成一直读出来都是0或者FF,不知道哪里有问题。

結果