调试 BQ25892 I2C通讯

  • 调试这个芯片,犯了一个软件错误(硬件原理图没有问题)。
  • 由于之前使用的eeprom,bmp085,axp209都是使用器件地址作为写地址,器件地址加1后作为读地址,导致使用bq25892后,看了bq5892手册后依然这样操作,导致写设备地址一直无法收到应答信号。困惑了很久,一直认为是自己时序有问题,后来
    我与TI工程师交流 才意识到自己对手册的理解有问题。
  • 正确的理解是设备地址为0x6Bh,但是设备地址是取七位,那么二进制应该是0x1101011B,当需要写设备地址时,
    写设备地址应该是0xD6h(0x11010110B+0x00000000B),
    读设备地址是0xD7h(0x11010110B+0x00000001B)。
  • 当我们需要读取电池电压时,需要先使能REG02寄存器(0x02h)第7位为1,然后再读REG0E寄存器(0x0Eh),不然,读出来的总是0x00。因为默认ADC转换是关闭的。

你可能感兴趣的:(嵌入式)