• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

在IIC通讯中能否共用SCL?

xoba1937 2017-07-09 浏览量:1589

单片机跟2个相同的器件软件模拟IIC通讯,器件地址没法设置,能否共用SCL?

单片机2个管脚分别接SDA读写数据?

2 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 方法1:

    如果您兩個Device的I2C address沒有衝突(即假設不同種Device)

    那就可以共用SDA和SCL

    否則會衝突,設置通常有Ax腳位可以供您設置,所以只要改一下Device的電路拉到Vcc和GND即可

    下面是Atmel的eeprom的Address規則

    446.PNG


    方法2:

    如果無法更改或者不想更改Device Address,您可以共用SCL,但SDA需要不同腳位,注意的是I2C Slave只要有相同Address就會響應(ack),所以是必要,且需要分別操作以防有不可預知的問題,故仍然建議共用會比較好,也較節省腳位,


    以上

    • 发布于 2017-07-09
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:5
  • 可以的。


    其实在两个器件是可以放在一条I2C总线上的也就是共用SCL与SDA(只是你的不能设置地址),你双多加了一条SDA,原理是一样的。只要时序对就可以。

    只是在模拟时,不要同时操作两个I2C器件。最好是一个器件操作完成了再操作另一个,否则容易乱。


    • 发布于2017-07-09
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以的,只是再操作时另一个sda记得释放总线
    • 发布于2017-07-09
    • 举报
    • 评论 0
    • 0
    • 0

  • I2C的时钟线一般都是共用的,这样才能确保多个器件的时钟得以同步


    其实数据线也可以共用,不过这样做稳定性会有所下降

    • 发布于2017-07-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 完全可以。因为2个器件数据先独立,因此可以一起操作。如果是相同器件,甚至可以同时控制输出设置,但接收数据时,只能1个有效,除非完全相同器件的相同操作。这样相当于3线控制两个I2C器件。
    • 发布于2017-07-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以的,控制好两个数据引脚,保证他们不互相干扰即可~
    • 发布于2017-07-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

在IIC通讯中能否共用SCL?