我在希望使用 INT 线路快速确定我的器件已插入充电器(或从充电器中移除)的应用中使用 BQ25122。
目前、我的代码等待 INT 脉冲、然后尝试读取状态寄存器。 如果正常工作、我假设 I2C 已启用、并且我继续读取多个其他寄存器、包括故障寄存器。 如果不起作用、我假设我处于高阻态模式、将 CE_N 拉至高电平、等待1ms 让 I2C 启用、然后再次读取寄存器。
当我的充电器连接或断开时、我会看到一个 INT 脉冲。 但是、我看到两个令人困惑的问题:
- 充电状态变化后读取的第一个状态始终报告器件处于故障状态、但任何其他寄存器中都不会设置故障位。
- 当我断开充电器时、我会按预期获得一个 INT、但 I2C 读取 正常工作。我不会期望这种行为、因为我现在是依靠电池电源运行的。 这里有延迟吗?
- 此外、断开充电器后、状态也会报告故障状态。
在这些情况下会发生什么情况?
谢谢、
u