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.

[参考译文] INA219:无法从INA219读取

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1097654/ina219-cannot-read-from-the-ina219

部件号:INA219

您好,

我使用来自Silabs的EFR32BG22主机,我编写了一个驱动程序与INA219进行通信,并从Arduino的Adafruit驱动程序中获得了许多灵感。

我似乎可以写,因为INA219正在确认我的数据。 但当我阅读时,它总是0。 我检查了数据表,从我的角度来看,我的I2C通信似乎正常。

以下是重现该问题的过程:

我在配置寄存器(0x00)中写入0x8399 (重置设备)

然后我读了相同的寄存器,我希望找到0x399,但我读了0x0000。

请在下面查找写入顺序,然后查找读取顺序。

您是否发现任何问题?

感谢你的帮助

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

    您好,

    看来,在你向INA219传递一个读数后,你正把SDA线与主控保持在下面。 是这样吗? 当尝试从设备读取数据时,您需要让从设备驱动SDA线。

    此致,

    Castrense

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

    您好,Castrense,感谢您的回复。

    我使用来自Silabs的低级别I2C API进行读取传输。 读取序列是从另一个正在工作的驱动程序复制的,它在开始传输之前设置了“读取”标志。 我不认为SDA线被主人压低。 但值得尝试在同一总线上使用另一个传感器,并确保我们可以使用此低级API读取实际数据。 我会让您随时了解最新情况。

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

    我发现了这个问题,我对此并不感到骄傲...

    我正在使用来自Silabs的Thunderboard,I2C总线已被3个传感器使用。 我知道这一点,但我认为不值得检查这些传感器的地址。 我决定进行检查, Si7021传感器的默认地址是0x40。

    我将INA219地址更改为0x41,现在一切正常。