我是使用2个BQ76930的AFE加一个STM MCU
我在MCU power on或reset时, 有时候会发现
在做完所有外设的初始化之后, 去读取ADCGAIN1, ADCGAIN2, ADCOFFSET register时
发现有时会读取失败(error or time out)
请问一下这会是什么问题
Thanks
Mickey Zhang:
您好,您确认以下两个方面:
1. 在datasheet第23页,有个400ms延迟时间,如果您的延迟时间设置有误,
那么会引起读取失败的问题。
2. 在datasheet Figure 6-1 I2C Timing,建议您确认下您的I2C时序是否有问题。
Matt Tsai:
回复 Mickey Zhang:
1. 在datasheet第23页,有个400ms延迟时间,如果您的延迟时间设置有误,那么会引起读取失败的问题。==>这个是指变成normal mode到读取VC1~VC10 register之间至少要有400ms的delay吗?目前遇到的问题是在adcoffset, gain1, gain这几个registers时就有时候会有问题而且我在读adcoffset, gain1, gain这几个registers之前已经有先delay 500ms了
2. 在datasheet Figure 6-1 I2C Timing,建议您确认下您的I2C时序是否有问题。==>我是用STM HAL library的HAL_I2C_Mem_Read()去读I2C, 要怎么确认I2C时序?另外, 这个问题不是百分之百发生,
是有时候在power on/reset时发生, 相同的power on流程会有不同的I2C时序问题?
HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Thanks