我在使用CH341模块,想实现获取智能电池电量信息的功能,在使用CH341StreamI2C这个方法。智能电池的芯片是支持SMbus的Bq4050,设备地址是0x16,电量寄存器是0x0D,结果并不能获取电量信息。使用的C#工具的截图是:
热门产品 :
CH32V317: 互联型青稞RISC-V MCU
我在使用CH341模块,想实现获取智能电池电量信息的功能,在使用CH341StreamI2C这个方法。智能电池的芯片是支持SMbus的Bq4050,设备地址是0x16,电量寄存器是0x0D,结果并不能获取电量信息。使用的C#工具的截图是:
您好,使用StreamI2C通讯接口时,需要对设备地址做处理然后传入。如上设备地址:0x16,需要填写对应地址:0x16 << 1 = 0x2C。
您好,十分感谢您的回复。您说的这个我根据之前在社区里的解决方案尝试过,改成0x2C并不能成功获取信息,我在多次尝试的时候发现只使用0x16,并且输入两次电量寄存器的地址,CH341T会给我回复一些信息。虽然依旧是错的信息,不过我觉得通讯是连接上了。请问您对这个现象有什么看法吗?(我在多次点击的时候,极少情况下会获取到我想要的信息一天就出现一两次)