This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC3235SF:如何在单个 i2c 总线上连接多个 HDC2010温度和湿度传感器

Guru**** 2558250 points
Other Parts Discussed in Thread: HDC2010

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/977763/launchxl-cc3235sf-how-can-i-connect-multiple-hdc2010-temp-and-humidity-sensors-on-a-single-i2c-bus

器件型号:LAUNCHXL-CC3235SF
主题中讨论的其他器件:HDC2010

尊敬的 TI:  

我想问我在"传感器表"上发布的上一篇文章的相关问题、该文章询问了如何在 单个 i2c 总线上连接多个 HDC2010传感器(具有相同地址)。  以下是供参考的链接、请查看。

这是第一个答复。

  

第二个问题是、这可能是我们所说的内容、已得到 cc3235团队的确认。

此处是第二个回复...

您能否告诉我们固件方面涉及的内容很少、这意味着什么?  

或  

如何在不在单个 i2c 总线上使用任何多路复用器的情况下连接多个(2-8) HDC2010传感器?

提前感谢  

Sarju Bhatnagar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    两个 HDC2010器件、您可以毫无问题地连接到单个 I2C 总线。 在第一个器件中、您将 HDC2010引脚 ADDR 设置为 Vcc、将第二个 HDC2010 ADDR 引脚设置为 GND、在这种情况下、每个器件将具有唯一的 I2C 地址。

    但是、如果您在同一总线上需要更多具有相同地址的 HDC2010器件、则无法实现这一点。 但没有任何因素阻止您使用以下技巧之一:

    • 将 I2C 总线分成多个段、并使用 CC3235上的内部引脚多路复用器将 I2C 外设动态切换至不同的引脚
    • 将 GPIO 引脚连接到 HDC2010的 ADDR 引脚使用"芯片选择"之类的选项

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sarju、

    Josh 关于如何在同一总线上使用多个 HDC2010器件的想法涉及在您的应用中动态多路复用 I2C 总线引脚。 这将允许在 CC3235的不同引脚上访问相同的总线、同时使用相同的逻辑 I2C 外设和总线。

    话虽如此、这实际上意味着您将需要为将要使用的每个 HDC2010额外使用2个 SDA/SCL 引脚。 SDA 和 SCL 只有4组可能的 I2C 引脚多路复用、因此该技术仅适用于多达4个 HDC2010传感器。

    您可以将这一点与将每组 SDA/SCL 引脚连接到两个 HDC2010器件相结合、一个器件的 ADDR 置位、另一个器件的 ADDR 置位。

    要实际执行引脚复用、您需要使用低级 driverlib 代码。 将给定引脚多路复用到 I2C 引脚的函数为:PinTypeI2C ( 、 )。 例如、如果您希望 pin1为 I2C SCL、则可以调用 PinTypeI2C (PIN_01、PIN_MODE_1)。

    TRM 的表16-7中提供了可能的引脚多路复用选项的完整列表: http://www.ti.com/lit/swru465

    现在、您需要在运行时执行以下操作:

    1.在运行时使用 TI 驱动程序启动 I2C 总线。

    2.当需要一个开关时, 用 PinTypeGPIO()函数将当前 I2C 引脚复用到 GPIO。

    3.使用 PinTypeI2C()函数将新引脚多路复用为 I2C。

    此致、

    Michael