主题中讨论的其他器件:BQ76952、、 BQSTUDIO
工具与软件:
您好!
我目前正在与合作 BQ769x2电池管理系统(BMS) 、与 STM32微控制器连接。 我使用 I2C 接口实现了电池电压和温度监控。
问题描述
系统在运行时运行良好 裸机模式 、为电池电压和温度提供一致和准确的读数。 不过、当我将同一代码集成到时 基于 RTOS 的环境 (FreeRTOS)、读数在几秒钟内都是准确的、但随后所有电池电压都会显示 65459. 并显示温度 6272.75 .
重要观察结果:
- 该问题仅在 RTOS 环境中发生。 裸机执行正常运行、不会出现任何问题。
- 最初、读数是正确的(电压和温度)。
- 几秒钟后:
- 电芯电压值 :固定于
65459
。 - 温度值 :固定于
6272.75
。
- 电芯电压值 :固定于
- 我已经验证 BQ769x2的电源稳定、并且不存在物理连接问题。
系统详细信息:
- 微控制器上 :STM32L552E-STM32E EV
- 通信协议 : I2C.
- BQ769x2配置 :
- 所有16节电池都启用。
- 软件环境 :
- RTOS:FreeRTOS
- 工具链:STM32CubeIDE (GCC)
请求帮助:
- 几秒钟后、什么因素会导致读数失败、特别是在 RTOS 环境中?
- 在 RTOS 环境中使用 BQ769x2有什么具体注意事项吗?
- 这是否与任务占先或 I2C 驱动器可重入性问题有关?
非常感谢提供任何调试和解决此问题的指导或建议。