如何定义两个以上I2C地址
本帖最后由 honyfox 于 2014-4-7 14:12 编辑对I2C的地址定义一直有点概念模糊,学习了一下hunduncn大哥写的BH1750教材(http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1610),但是对于多个BH1750或其他传感器设备,应该如何定义I2C的地址?
参阅了一下官方对于I2C库的说明,uno板子是定义在A4、A5上(Uno, Ethernet A4 (SDA), A5 (SCL)),那如果使用多个BH1750,应该怎么硬件连线呢?求指点,谢谢! i2c设备直接挂到i2c总线上就好了,具体的区分设备是总线来负责的
一般i2c设备会提供给你一个硬件跳线的位置来选择当前的地址
比如同样都是 eeprom ,同样的板子,可以通过跳线,让一块板子地址是 0x20 一个是0x22
然后接到i2c总线上就可以进行通讯了 本帖最后由 honyfox 于 2014-4-6 20:10 编辑
zoologist 发表于 2014-4-5 22:17 static/image/common/back.gif
i2c设备直接挂到i2c总线上就好了,具体的区分设备是总线来负责的
一般i2c设备会提供给你一个硬件跳线的位 ...
哦,谢谢指教!
可不可以理解成UNO如果要接多个I2C设备,只需要 将设备并联到A4 (SDA), A5 (SCL)上就可以了? 明白了,非常感谢两位!! 注意有些传感器虽然标称也是使用I2C协议通信,但是有改动,比如SI7005就不能修改slave address,它是通过CS来选择不同的从设备
页:
[1]