CH341T读取I2C设备时无法获取正确的信息

我在使用CH341模块,想实现获取智能电池电量信息的功能,在使用CH341StreamI2C这个方法。智能电池的芯片是支持SMbus的Bq4050,设备地址是0x16,电量寄存器是0x0D,结果并不能获取电量信息。使用的C#工具的截图是:image.png

您好,使用StreamI2C通讯接口时,需要对设备地址做处理然后传入。如上设备地址:0x16,需要填写对应地址:0x16 << 1 = 0x2C。


您好,十分感谢您的回复。您说的这个我根据之前在社区里的解决方案尝试过,改成0x2C并不能成功获取信息,我在多次尝试的时候发现只使用0x16,并且输入两次电量寄存器的地址,CH341T会给我回复一些信息。虽然依旧是错的信息,不过我觉得通讯是连接上了。请问您对这个现象有什么看法吗?(我在多次点击的时候,极少情况下会获取到我想要的信息一天就出现一两次)image.png


只有登录才能回复,可以选择微信账号登录