cn_x 发表于 2013-7-18 14:12:10

请大虾帮忙看一下这个AD7682的程序,一直输出的是0xFFFF

本帖最后由 cn_x 于 2013-7-18 14:33 编辑

WORD AdcReadChannel(BYTE channel)
{
    WORD ctrWord=0;
    WORD result=0;
    BYTE i;

    _CS_AD = 0;
    Wait2us();
    _CS_AD = 1;
    Wait2us();
   
    _CS_AD = 0;
    if(channel >= 4)
    {
      channel -= 4;
    }
    ctrWord= ((channel<<7) | 0b0011110001110001) << 2;

    Wait2us()
    for(i = 0;i<16;i++)
    {
      if(ctrWord & 0x8000)
      {
            SDO = 1;
      }
      else
      {
            SDO = 0;
      }
      Wait2us()
      SCK = 0;
      Wait2us()
      ctrWord <<= 1;
      SCK = 1;
      Wait2us()
      result <<= 1;
      if(SDI)
      {
            result |= 1;
      }
    }
    Wait2us()
    SCK = 0;
    Wait2us()
    _CS_AD = 1;

    return result;
}

使用的是外部4.096V电压基准

cn_x 发表于 2013-7-18 14:32:56

搞定了···············原来忘记初始化端口了·······虚惊一场················
这段代码没有问题

cn_x 发表于 2013-7-18 14:34:40

一开始写错了 ,是AD762,主题竟然改不回来了···················

lrbdh 发表于 2013-12-30 11:47:26

不错,正好要用到!
页: [1]
查看完整版本: 请大虾帮忙看一下这个AD7682的程序,一直输出的是0xFFFF