找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 140|回复: 0
打印 上一主题 下一主题
收起左侧

关于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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表