打印
[信息]

AD7779/AD7770/AD7771的使用问题

[复制链接]
968|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onlycook|  楼主 | 2021-8-3 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
针对AD7771的使用我遇到了两个问题。
第一、我对AD7771进行了初始化,配置在寄存器模式下时,都会寄存器的值都是0x2000,手册上写的读回来8位头8位数据 头正好是0x20 但是数据应该是给寄存器赋的值,而我却都是0x00。[img]file:///C:\Users\lenovo\AppData\Roaming\Tencent\Users\244431382\tiM\WinTemp\RichOle\DGBCF%{6D@~DZNEB5HS[C[R.png[/img][img]file:///C:\Users\lenovo\AppData\Roaming\Tencent\Users\244431382\TIM\WinTemp\RichOle\_GX7)LQB]79]%EP0X[CSRQ9.png[/img]
下面是我的程序
void AD7771_Init(void)
{
        uint8_t i=0;
        uint16_t Regdata[101];
        AD7771_Reset();
        HAL_Delay(200);
      
        AD7771_Register_Write(0x13, 0x80);


        AD7771_Register_Write(0x08, 0x00);


        AD7771_Register_Write(0x11, 0x24);


        AD7771_Register_Write(0x15, 0x40);




        AD7771_Register_Write(0x14, 0x20);


        AD7771_Register_Write(0x60, 0x02); //SRC_N_MSB
        AD7771_Register_Write(0x61, 0x00); //SRC_N_LSB
        AD7771_Register_Write(0x62, 0x00); //SRC_IF_MSB
        AD7771_Register_Write(0x63, 0x00); //SRC_IF_LSB


        AD7771_Register_Write(0x64, 0x01);
      


        for(i=0; i<0x65; i++)
        {
                Regdata = AD7771_Register_Read(i);
        }


                AD7771_Register_Write(0x13, 0x90);
}

使用特权

评论回复
沙发
onlycook|  楼主 | 2021-8-3 16:38 | 只看该作者
第二、在对AD7771完成初始化后 我想要读取AD转换的数据,采用轮询的方式 ,等待AD7771_DRDY跳变,开始读取,但最后获得都是0x00,下面是我的程序
void AD7771_Read_Data(void)
{
                uint8_t i = 0;
                uint8_t ch = 0;
                uint32_t adcvalue;
      
      
        while(!AD7771_DRDY);
        while(AD7771_DRDY);
                //总共八个通道,每个通道32bit数据=8Bit CRC头 + 24bit转换数据
                for(i=0; i<8; i++)
                {
                //将片选信号拉低
                        AD7779_CS_LO;
                        HAL_Delay(10);

                //读取32bit数据
                        adcvalue = SPI_Read();
      
                //从CRC头中获取AD通道编号
                        ch = (adcvalue >> 28) & 0x07;
                        AD7771_BUFF[ch] = adcvalue & 0x00ffffff;
                //将片选信号拉高
                        AD7779_CS_HI;
                        HAL_Delay(10);
                }
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

432

主题

1608

帖子

3

粉丝