打印

百利通器件 I2C时序请教

[复制链接]
825|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luojm|  楼主 | 2016-5-4 14:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
图片是百利通PI3HDX412BD的I2C通信时序,该器件一共有8个寄存器,通过I2C读写。以下是我的代码
unsigned char PI3HDX412BD_I2C_Read(unsigned char DevID)
{       
        unsigned char Rdata=0;
        AT24CXX_Start();
        AT24CXX_WriteByte(DevID+1);
        AT24CXX_TestAck();
        TmpPI3Buf[0]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[1]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[2]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[3]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[4]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[5]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[6]=AT24CXX_ReadByte();
        AT24CXX_TestAck();
        TmpPI3Buf[7]=AT24CXX_ReadByte();
        AT24CXX_NAck();
        AT24CXX_Stop();
        return Rdata;
}

出现的问题是,我只能读写第一个寄存器,剩下的7个寄存器怎么修改都无法对其操作。

想请教下这种I2C时序应该怎么操作?

QQ图片20160504140124.png (36.64 KB )

QQ图片20160504140124.png

相关帖子

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

本版积分规则

4

主题

12

帖子

0

粉丝