我正在尝试使用两个 I2C 地址(0x48、0x49)在一个 Raspberry Pi 上运行两个 Adafruit ADS1115。每个设备的地址可以通过将 ADDR 引脚连接为高电平 (0x49) 或使其悬空(默认为 0x48)来设置。我已经确认,当地址设置为 0x48 时,每个板都可以工作,并且运行“i2cdetect 1”可以确认两个板都连接在正确的地址。
我可以成功运行这个示例code https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/blob/master/examples/ads1x15_ads1115_simpletest.py
我的问题是:如何获取从 I2C 地址 0x49 而不是 0x48 读取的代码?我在任何地方都找不到文档。请指教。
由于有 Python 库,因此应用了 Python 语言的规则,特别是具有类继承的 OOP。也就是说,ADS1115 类继承自 ADS1x15,而 ADS1x15 又具有__init__()
方法(在 OOP 中构造函数)定义如下:
def __init__(self, address=ADS1x15_DEFAULT_ADDRESS, i2c=None, **kwargs):
这意味着它至少知道两个带有名称的位置参数address
and i2c
使用默认值ADS1x15_DEFAULT_ADDRESS
and None
分别。因此,您需要在代码中重新定义它们,即而不是ads = ADS.ADS1115(i2c)
use
ads = ADS.ADS1115(address=0x48, i2c=i2c)
第二个放在那里0x49
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)