標題: 關(guān)于FDC2214的ID讀取一直是0x0的問題 [打印本頁]

作者: 泮熙璃茉嵐    時間: 2025-3-23 21:48
標題: 關(guān)于FDC2214的ID讀取一直是0x0的問題
*FDC2214初始化函數(shù)
*返回值:0:初始化正常
*       1:不正常
*/
uint8_t FDC2214_Init(void)
{
        uint16_t res,ID_FDC2214;
        FDC_IIC_Init();
        res=FDC_Read(MANUFACTURER_ID);//測試設(shè)備讀取是否正常
        ID_FDC2214 = FDC_Read(DEVICE_ID);
        printf("ID:%d \r\n", ID_FDC2214);
        if(res==0x5449)
        {
                //設(shè)置Set_FDC2214寄存器
                Set_FDC2214(RCOUNT_CH0,0x34,0xFB);//參考計數(shù)轉(zhuǎn)換間隔時間(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);//轉(zhuǎn)換之前的穩(wěn)定時間(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(傳感器時鐘建立+轉(zhuǎn)換時間的驅(qū)動電流)
                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為超過振蕩槽振蕩頻率的最低設(shè)置,多通道,四通道
               
                Set_FDC2214(CONFIG,0x16,0x01);//激活模式,使用內(nèi)部振蕩器做參考頻率,INTB引腳會隨狀態(tài)寄存器更新被置位
        }
        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, 下載次數(shù): 0)

1.png





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1