尊敬的 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;
感谢您的帮助,
埃奇尔