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.

[参考译文] CCS/BQ76PL455A-Q1:无法在 Bq76pl455A-Q1和 TMS570ls3137 (UART)之间进行通信

Guru**** 2472700 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/686417/ccs-bq76pl455a-q1-unable-to-communicate-between-bq76pl455a-q1-and-tms570ls3137-uart

器件型号:BQ76PL455A-Q1
主题中讨论的其他器件:HALCOGENTMS570LS3137

工具/软件:Code Composer Studio

您好、先生、

我正在尝试进行 UART 通信、已完成 pl455和 tms570ls3137之间的通信设置。 我从 halcogen 生成了代码、并使用示例代码尝试对其进行调试。 问题出在 bFrame 中显示的一些值。 但是、如何从这里读取电池电压值。 请帮助。

谢谢你

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

    要从 Bframe 计算电池电压、您应了解阵列中的数据格式。 第一个字节将是您的初始化字节。 第二个将是最高使能测量(通常为电池16)的 MSB、第三个将是最高使能测量的 LSB。

    若要从数组中的两个字节进行访问、必须执行以下操作:

    获取 MSB 并将其与 LSB 连接。 那么、类似这样的-(MSB<8)| LSB…… 这会将 MSB 移位8位、并以全0重新填充。 然后、按位或将用 LSB 填充0。 这将使您达到完整的 ADC 读数。

    接下来、获取 ADC 读数并将其从十六进制转换为十进制。

    之后、乘以数据表中的公式(2 * Vref/65535)或5/65535。 请注意、如果此数据类型为整数、则可能会舍入到0。 我为此使用浮点数据类型并将其存储为常量。

    最后、您会得到如下所示的结果:

    电芯电压= 0.0000763 *(((bFrame [x][8)| bFrame [x+1])