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

INA219读取寄存器,读出高8位后,低8位读不到

我按照INA219读取寄存器的步骤操作:start->发送INA219地址->发送需读取的寄存器地址->start->发送INA219地址+0x01(让从机知道我需要读取数据)->

读取出高8位->发送应答->读取低8位->不应答->stop

但是读出高8位后,主机返回应答信号后,从机不再返回低8位,读不到低8位数据。

请问各位大侠,这是什么情况?

xyz549040622:

1.你现在读出来的高8位的数据是否是正确的呢?读的是哪个寄存器的数据,可以试试读下Configuration寄存器的数据。
2.准确的读取寄存器的操作步骤应该是:start->发送INA219地址->读应答->发送需读取的寄存器地址->读应答->stop->start->发送INA219地址+0x01(0x01是R的指令)->读应答->读取出高8位->发送应答->读取低8位->不应答->stop.

Kailyn Chen:

能否把时序图附上看下?INA219的地址写的是什么?

user5907381:

回复 xyz549040622:

大佬我也遇到这个问题,低8位读的全是0
高8位完全没问题
配置寄存器,BUS电压,差分电压,电流寄存器,全是低8位读不到,高8位倒是正常

xyz549040622:

回复 user5907381:

抓波形,还是感觉是时序问题导致的,拿逻辑分析仪抓你全部的波形看看。

赞(0)
未经允许不得转载:TI中文支持网 » INA219读取寄存器,读出高8位后,低8位读不到
分享到: 更多 (0)