TI中文支持网
TI专业的中文技术问题搜集分享网站

对bq34z100电量检测芯片i2c读写逻辑很迷惑

手册的8.3.15.5描述了i2c与芯片的通信逻辑,前面的章节描述了命令为 16bit,返回数据也为16bit。c d两个图都是8bit命令形式,可以按照a图发送16bit命令,但如何读取返回的16bit数据呢?地址指针又是如何设置的呢?如果使用b图读取1字节 之后,主机返回nack,地址指针并不会增加,第二字节就永远读不到了么?

Cheng.W:

主机发ACK,从机会持续返回值,按起始寄存器地址递增返回值

第二个字节,只要主机不发ACK,或者发送P,也就是END的指令,会停止。

changming tian:

回复 Cheng.W:

谢谢您帮忙 那么读的起始地址如何设置呢?读回的多字节数据是以大端还是小端形式呢?

changming tian:

回复 Cheng.W:

谢谢您帮忙 那么读的起始地址如何设置呢?读回的多字节数据是以大端还是小端形式呢?

Cheng.W:

回复 changming tian:

起始地址是有主机发送的,

主机发送Start, 主机发送device Addr, 主机发送需要读取的寄存器其实地址,主机发送Re-start, 在等待返回数据。(前面的ACK都需要从机回应)

寄存器是按照LSB 形式,

changming tian:

回复 Cheng.W:

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » 对bq34z100电量检测芯片i2c读写逻辑很迷惑
分享到: 更多 (0)