TI中文支持网
TI专业的中文技术问题搜集分享网站

BQ4050 SMBUS 通讯

目前,ST32 可以成功实现 SBS 命令 读取温度 电压等数据。

但是通过manualfactualacceblock 访问时,读取错误, 目前读取到的都是0x17

时序确认正常

数据格式是 : write : 0x16 + 0x44 + 0x02 + 0x03 + 0x00

     read  : 0x16 + 0x44 + 0x17 

 最后读出数据都是0x17?请问是什么原因呢?

user6084630:

使用的stm32 硬件smbus . 速率10k

Star Xu:

回复 user6084630:

SMBUS read block 参考TRM p69  13.1 0x00 ManufacturerAccess() and 0x44 ManufacturerBlockAccess()

user6084630:

回复 Star Xu:

你好,谢谢回复。

我就是参照13.0章节 。

发送数据 write 0x16(地址写)+0x44(manualfectureaccessblock)+0x02(length)+0x03(low)+0x00(high)    读取硬件版本

然后 write(地址写)+0x44(cmd)+0x17(地址读)+

13.0章节 实例回复 数据 是 0x03 0x00 0x00 0x01 ,

我得到的全部是0x17, 最后发送的字节

请问 数据的write 和read 是否是正确的?不正确的话,正确应该是什么样的。

user6084630:

回复 Star Xu:

麻烦给与参考意见呢

user6084630:

回复 Star Xu:

TI 有 SMBUs 的举例程序吗?谢谢!

user6084630:

回复 Star Xu:

或者更加详细的字节 时序图 。谢谢!

user6084630:

回复 Star Xu:

你好。新发现在写完下面数据后,在0x00后面。bq4050 回复了NACK,导致硬件上直接给了stop信号。请问为什么出现NACK呢? write : 0x16 + 0x44 + 0x02 + 0x02 + 0x40

user6084630:

回复 Star Xu:

user1897790:

回复 user6084630:

有解决么,我也遇到同样的问题了;blockread出来全部是0x17

赞(0)
未经允许不得转载:TI中文支持网 » BQ4050 SMBUS 通讯
分享到: 更多 (0)