繁体   English   中英

如何将 I2C 地址传递给 Adafruit CircuitPython 代码? (运行 ADS1115)

[英]How to pass I2C addresses to Adafruit CircuitPython code? (Running ADS1115)

我正在尝试使用两个 I2C 地址(0x48、0x49)在一个 Raspberry Pi 上运行两个 Adafruit ADS1115。 可以通过将 ADDR 引脚连接为高电平 (0x49) 或将其悬空(默认为 0x48)来设置每个设备的地址。 我已经确认当地址设置为 0x48 时每块板都可以工作,并且运行“i2cdetect 1”确认两块板都连接在正确的地址上。

我可以成功运行此示例代码

我的问题是:如何让代码从 I2C 地址 0x49 而不是 0x48 读取? 我在任何地方都找不到文档。 请指教。

由于有一个 Python 库,因此应用了 Python 语言的规则,特别是具有类继承的 OOP。 也就是说,类 ADS1115 继承自 ADS1x15,而 ADS1x15 又具有__init__()方法(在 OOP构造函数中)定义如下:

def __init__(self, address=ADS1x15_DEFAULT_ADDRESS, i2c=None, **kwargs):

这意味着它至少知道两个位置参数,名称为addressi2c ,默认值分别为ADS1x15_DEFAULT_ADDRESSNone 所以,你需要在你的代码中重新定义它们,即代替ads = ADS.ADS1115(i2c)使用

ads = ADS.ADS1115(address=0x48, i2c=i2c)

第二个放在那里0x49

啊哈!
ads1 = ADS.ADS1115(i2c, address=0x49)

来源: https : //github.com/adafruit/Adafruit_CircuitPython_ADS1x15/issues/20

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM