This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ78350-R1 SMBus 制造商 BlockAccess 接收字节问题

Guru**** 2493545 points
Other Parts Discussed in Thread: BQ78350-R1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/712013/bq78350-r1-smbus-manufacturerblockaccess-receiving-bytes-problem

主题中讨论的其他器件:BQ78350-R1

大家好、

我使用的是 BQ78350-R1、它通过 SMBus 连接到 FTDI FT232H。

当我尝试使用 manufacturerBlockAccess (0x44)读取数据(BlockData)时、它总是返回错误的数据、

 从 FTDI 读取的数据为0x1717171717

此外、无论我要读取哪条命令和命令的长度如何、我都始终得到结果0x17。

我的命令是否出错?

这是我在块写入块读取过程调用中发送的命令格式
0x44 06 00

代码:
(笑声)
Buffer_T[bytesToTransfer++]= 0X44;/*命令地址*/
Buffer_T[bytesToTransfer++]= 0x06;
Buffer_T[bytesToTransfer++]= 0x00;// 0X0006 (化学 ID)
   

状态= I2C_DeviceWrite (ftHandle、slaveAddress、bytesToTransfer、buffer_T、\
      字节传输、I2C_TRANSFERS_OPTIONS_START_BIT | I2C_TRANSFERS_OPTIONS_FAST_TRANSFERS_Bytes);


   APP_CHECK_STATUS (STATUS);

   字节传输= 5;


   status |= I2C_DeviceRead (ftHandle、slaveAddress、bytesToTransfer、buffer_R、\
      字节传输、I2C_TRANSFERS_OPTIONS_START_BIT | I2C_TRANSFER_OPTIONS_STOP_BIT | I2C_TRANSFER_OPTIONS_NACK_LAST_BYTE | I2C_TRANSFER_OPTIONS_FAST_TRANSFER_Bytes);


   APP_CHECK_STATUS (STATUS);
(笑声)

可以帮帮我吗?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Arnaud、
    我不知道您的代码、但 SMBus 规范指示块协议包括字节计数。 因此、要发送 Chem IC 命令请求、您需要发送器件地址(wr) 0x44、0x02、0x06、0x00。
    要读取数据、发送器件 addr (wr) 0x44、SR、器件 addr (rd)和从器件应发送字节计数、后跟该字节数量。

    要写入命令、将有2个字节。
    若要读取数据、将有4个字节、但从器件会告诉您这一点。