TI中文支持网
TI专业的中文技术问题搜集分享网站

INA226获取数值MSB数值能取出,LSB取出的值一直是0

Other Parts Discussed in Thread:INA226

问题如题,尝试了各种取出的值一直是0.后来测试获取Configuration Register,和Calibration Register只能获取MSB,LSB读错来都是0,获取数值电压也是这样只有MSB有参数切在变动,LSB一直为0.

user4941096:

INA226_SendData(INA226_ADDR1,CFG_REG,0x4527);
INA226_SendData(INA226_ADDR1,CAL_REG,0x0a00);
初始化先这样写,然后在读取CFG_REG读出来是0x4500,CAL_REG读出来是a00,后来我尝试写入0xa11,读出来还是0xa00。

,

Kailyn Chen:

您好,看下I2C的时序,写完LSB之后是否没有收到ACK信号?
正常情况下,MSB之后会收到ACK信号,然后LSB之后会收到ACK信号。 看下INA226的I2C 写时序Figure 22:
www.ti.com.cn/…/ina226.pdf

,

user4941096:

您好,谢谢回复,我这里测试发送时正常的有回复,主要是接收接收高位后主机端ack,低位接收后nack然后stopbit,全部都是按照手册上编写,但是MSB接收是正常的后面接收LSB数值就全部是0,接收Power Register发现LSB一直是0不改变,Current Register因为测试电流没有超多255所以直接就是0.

,

user4941096:

最主要的就是我读出的数据LSB不变一直读出来是0.

,

user4941096:

 贴一张时序图,LSB部分一直是低电平数据一直不变

,

Kailyn Chen:

您好,抱歉回复晚了,不知您的问题解决了没有?I2C 的时钟频率是图中的82.33Hz吗?I2C的快速模式最低频率为100Khz。

,

user4941096:

解决了,主机引脚硬下拉了没有恢复。谢谢粗心导致。

赞(0)
未经允许不得转载:TI中文支持网 » INA226获取数值MSB数值能取出,LSB取出的值一直是0
分享到: 更多 (0)