透过STM32 MCU和bq78350之间的SMBus interface 发送SBS command
请问一下我要如何用STM32的SMbus来送SBS command到bq78350去
例如, 送SBS command: 0x50 SafetyAlert()
我可以使用STM32的HAL library来完成吗
有没有相关的sample code?
Thanks
目前没有具体到STM32的代码,只要时序满足手册第8页的要求即可
手册第8页
==>是指那一份手册?
例如要利用某一个SBS命令去取得相关资料,我是要依序写入
[S-Slave address-Wr] [SBS command code] [S-Slave address-Rd],
之后再去读取[Data byte] [Date byte]?
有没有相关的文作介绍?
Read Byte:
[S-Slave address-Wr] [SBS command code] [S-Slave address-Rd] [Data byte] [Date byte]
Thanks
bq78350:读取SMBus通讯格式(下划线为host侧发送的数据,黄色为bq78350返回的数据)
- 发送数据帧格式:Start + Device Address :0x16 + ManufactoryBlockAccess : 0x44 + Data Length: 0x02 + DataFlash Address:0x00 , 0x40 + Checksum: 0xAB + End
- 发送数据帧格式:Start + Device Address: 0x16 + ManufactoryBlockAccess:0x44 + Re-Start + Device Address:0x17 + Data Length:0x22(DataFlash Address 2bytes+32bytes data) + 34bytes Data + Checksum:0x85 + End
- 如果需要读取后续的dataflash的内容,重复发送第2步的内容.
以下为示例读取0x4000后的64bytes:
S Addr:0x16 0x44 0x02 0x00 0x40 0xAB P
S Addr:0x16 0x44 S Addr:0x17 0x22 0x00 0x40 0x84 0x07 0x02 0x75 0x96 0x19 0x9C 0x65 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x00 0x00 0x85 P
S Addr:0x16 0x44 S Addr:0x17 0x22 0x20 0x40 0x00 0x13 0x88 0x00 0x00 0x13 0x88 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x80 P
黄色为bq78350返回的数据
但从网页上并没有看到黄色的部分,可以请你再标示一下吗
谢谢
对照网上搜一下SMBus的规范理解一下吧