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.

[参考译文] BQ34110:需要 I2C 写入延迟

Guru**** 2609895 points
Other Parts Discussed in Thread: BQ34110

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1074424/bq34110-i2c-write-read-delay-needed

部件号:BQ34110

尊敬的 TI 团队:

我通过 I2C 设置从 STM32到 BQ34110的连接。 我真的无法正确理解:当我尝试使用 MAC 进程读取一些数据(写入地址0x40,然后读取0x42的结果)时,我需要在写入和读取之间插入一些延迟。 如果我不这样做,返回值是垃圾(主要是65.535)

您是否知道为什么需要此延迟? 是否有办法等待 BQ 准备就绪(我的代码没有延迟...)

这是代码,没有延迟就无法正常工作... 我在阅读 TRM 和量规通信手册时没有发现任何信息。

UINT8_t pData[2];
UINT8_t PR[4];
pData[0]= nSubCmd 和0xFF;
pData[1]=(nSubCmd >> 8)和0xFF;
流量计写入(pHandle,CMD_MAC,pData,2);//发出控制和子命令
延迟(1);
流量计读取(pHandle,CMD_MAC,PR,4);//读取数据


如果((((Pr[1]<8)|PR[0]=nSubCmd)/*验证是否符合本公司的要求*/
   返回(PR[3]<8)| PR[2];
否则
   返回0;

感谢您的帮助,

埃奇尔

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

    你好 Edgar,

    如果延迟不足,仪表将会粘滞。 将错误检查添加到代码将有助于避免错误值。 大多数应用程序通常使用10毫秒的延迟。