标题: 关于FDC2214的ID读取一直是0x0的问题 [打印本页]

作者: 泮熙璃茉岚    时间: 2025-3-23 21:48
标题: 关于FDC2214的ID读取一直是0x0的问题
*FDC2214初始化函数
*返回值:0:初始化正常
*       1:不正常
*/
uint8_t FDC2214_Init(void)
{
        uint16_t res,ID_FDC2214;
        FDC_IIC_Init();
        res=FDC_Read(MANUFACTURER_ID);//测试设备读取是否正常
        ID_FDC2214 = FDC_Read(DEVICE_ID);
        printf("ID:%d \r\n", ID_FDC2214);
        if(res==0x5449)
        {
                //设置Set_FDC2214寄存器
                Set_FDC2214(RCOUNT_CH0,0x34,0xFB);//参考计数转换间隔时间(T=(RCOUNT_CH0*16)/Frefx)
                Set_FDC2214(RCOUNT_CH1,0x34,0xFB);
                Set_FDC2214(RCOUNT_CH2,0x34,0xFB);
                Set_FDC2214(RCOUNT_CH3,0x34,0xFB);
               
                Set_FDC2214(SETTLECOUNT_CH0,0x00,0x1B);//转换之前的稳定时间(T=(SETTLECOUNT_CHx*16)/Frefx)
                Set_FDC2214(SETTLECOUNT_CH1,0x00,0x1B);
                Set_FDC2214(SETTLECOUNT_CH2,0x00,0x1B);
                Set_FDC2214(SETTLECOUNT_CH3,0x00,0x1B);
               
                Set_FDC2214(CLOCK_DIVIDERS_C_CH0,0x20,0x02);//选择在0.01MHz ~ 10MHz的传感器频率
                Set_FDC2214(CLOCK_DIVIDERS_C_CH1,0x20,0x02);//Frefx = Fclk = 43.4MHz/2(2分频)
                Set_FDC2214(CLOCK_DIVIDERS_C_CH2,0x20,0x02);//CHx_REF_DIVIDER=2;CHx_FIN_SEL=2
                Set_FDC2214(CLOCK_DIVIDERS_C_CH3,0x20,0x02);//CHx_REF_DIVIDER=2;CHx_FIN_SEL=2
               
                Set_FDC2214(DRIVE_CURRENT_CH0,0x78,0x00);//0.146ma(传感器时钟建立+转换时间的驱动电流)
                Set_FDC2214(DRIVE_CURRENT_CH1,0x78,0x00);
                Set_FDC2214(DRIVE_CURRENT_CH2,0x78,0x00);
                Set_FDC2214(DRIVE_CURRENT_CH3,0x78,0x00);
               
                Set_FDC2214(ERROR_CONFIG,0x00,0x00);//全部禁止错误汇报
               
                Set_FDC2214(MUX_CONFIG,0xC2,0x0D);//通道0,1,2 ,3;选择10Mhz为超过振荡槽振荡频率的最低设置,多通道,四通道
               
                Set_FDC2214(CONFIG,0x16,0x01);//激活模式,使用内部振荡器做参考频率,INTB引脚会随状态寄存器更新被置位
        }
        else return 1;
       
        return 0;
}

float Cap_Calculate(uint8_t chx)
{
        float Cap;
        Data_FDC = FCD2214_ReadCH(chx);
        Cap = 232021045.248/(Data_FDC);
        return (Cap*Cap);
        //return (Data_FDC);
}



1.png (254.46 KB, 下载次数: 0)

1.png





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1