WCH沁恒单片机
直播中

徐伟

8年用户 1005经验值
私信 关注
[问答]

CH341T读取I2C设备时无法获取正确的信息如何解决?

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

回帖(2)

孙婷婷

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

刘京

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

更多回帖

发帖
×
20
完善资料,
赚取积分