hey9527 发表于 2014-11-30 02:40:38

请问各位大大《关于两个相同iic设备同时使用》

某种原因需要使用两块相同设备。但是相同设备iic地址是一样的,实际操作中发现通信紊乱,不知道怎样从新分配地址,才能令两个相同模块同时工作?

Super169 发表于 2014-11-30 03:32:12

有些模塊可以選擇超過一個地址的, 如果沒有選擇的話, 除非你自己識改 (應該不容易吧), 否則應該唔得了.
很多模塊都有特定 address, 而對應既庫亦預設了有關 address, hardware 要改之餘, 庫也要修改.

davidce 发表于 2014-11-30 09:24:35

具体问题,具体分析

hey9527 发表于 2014-11-30 12:50:49

Super169 发表于 2014-11-30 03:32 static/image/common/back.gif
有些模塊可以選擇超過一個地址的, 如果沒有選擇的話, 除非你自己識改 (應該不容易吧), 否則應該唔得了.
很 ...

您好 刚才在库文件中看到一段 代码 貌似是定义地址用的但是短接这个操作具体怎么实现呢?
boolean SFE_TSL2561::begin(char i2c_address)
        // Initialize TSL2561 library to arbitrary address or:
        // TSL2561_ADDR_0 (0x29 address with '0' shorted on board)
        // TSL2561_ADDR   (0x39 default address)
        // TSL2561_ADDR_1 (0x49 address with '1' shorted on board)
        // Always returns true
{
        _i2c_address = i2c_address;
        Wire.begin();
        return(true);
}

Super169 发表于 2014-11-30 13:54:04

hey9527 发表于 2014-11-30 12:50 static/image/common/back.gif
您好 刚才在库文件中看到一段 代码 貌似是定义地址用的但是短接这个操作具体怎么实现呢?
boolean SFE ...

程式中已說明了:      // Initialize TSL2561 library to arbitrary address or:
      // TSL2561_ADDR_0 (0x29 address with '0' shorted on board)
      // TSL2561_ADDR   (0x39 default address)
      // TSL2561_ADDR_1 (0x49 address with '1' shorted on board)

模塊上預設地址為 0x39, 如接到 0 就是 0x29, 接 1 就是 0x49.
至於接那裡, 就要看你的模塊說明了.

hey9527 发表于 2014-11-30 14:59:27

Super169 发表于 2014-11-30 13:54 static/image/common/back.gif
程式中已說明了:

模塊上預設地址為 0x39, 如接到 0 就是 0x29, 接 1 就是 0x49.


已经解决!十分感谢您的帮助!
页: [1]
查看完整版本: 请问各位大大《关于两个相同iic设备同时使用》