工具与软件:
您好!
我将 ESP32与4个 ADS1115模块一同使用。 我已经成功获得了 I2C 地址0x48、0x49和0x4A、并且我可以正确地从每个通道中读取模拟通道。 但是、我无法找到0x4B 地址、根据数据表、应将 ADDR 引脚连接到 SCL 引脚来获取该地址。
我可能会做错什么? 我尝试了多个 ADS1115模块、但在所有情况下、我都无法检测到0x4B 地址。
如果有任何帮助、将不胜感激。
谢谢!
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.
工具与软件:
您好!
我将 ESP32与4个 ADS1115模块一同使用。 我已经成功获得了 I2C 地址0x48、0x49和0x4A、并且我可以正确地从每个通道中读取模拟通道。 但是、我无法找到0x4B 地址、根据数据表、应将 ADDR 引脚连接到 SCL 引脚来获取该地址。
我可能会做错什么? 我尝试了多个 ADS1115模块、但在所有情况下、我都无法检测到0x4B 地址。
如果有任何帮助、将不胜感激。
谢谢!
尊敬的 Santiago:
您能否使用逻辑分析仪或示波器共享 I2C 通信波形的捕获?
第一个 I2C 帧应如下所示:
当您尝试使用 1001011b 地址(ADDR 引脚连接到 SCL)时、是否在帧的最后一位获得了 NACK?
您可能错误地构造了地址读取/写入。 I2C 地址为4Bh、但这是写入的高7位。 在您的地址中、您使用4Bh 作为字节、然后与0或1进行"或"运算、以进行写入或读取。 对于 I2C 地址、您应该为96h、然后使用0或1进行写入或读取。 这实际上是将每一位向左移动一次、以考虑读取/写入位(帧的第8位)。
同样、了解情况的最佳方法是通过示波器查看数字通信情况、从而了解发生了什么情况。
此致、
天使
您好!
我的问题是、在扫描 I2C 地址时、我唯一找不到的是0x4B。 我可以找到0x48、0x49和0x4A 地址、并且可以正确地使用它们测量信号。 现在、我是否需要使用电阻器进行另一配置来查找该地址?
我曾尝试按照您的建议写入4B 地址(十进制为75)、但器件没有响应。 根据我从逻辑分析仪获得的信息、地址的构造正确。
我使用了3个不同的 ADS1115模块、所有这些模块都获得了相同的结果。 所有器件都是新的。
尊敬的 Santiago:
连接似乎正确、地址的构造正确、因此我不确定问题可能是什么。
您可以尝试使用较低的 SCL 频率、看看是否有任何差异、因为400kHz 是必须使用高速模式之前的上限。
似乎确认位的时钟周期总是稍长一些。 为什么会这样? 这对于与器件通信来说不应该是个重大问题、但我想知道为什么会是这样、以及这样是否与在使用 SCL 地址时遇到问题有关。
还可能是这些器件在某个时候损坏了、甚至是假冒的。
此致、
天使