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.

[参考译文] MSP430FR2422:在 I2C 主设备和 I2C 从设备之间切换

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/859310/msp430fr2422-switch-between-i2c-master-and-i2c-slave

器件型号:MSP430FR2422

尊敬的香榭丽舍

我向我们的客户提出这一问题。

用户希望将 FR2422与物理 I2C 总线搭配使用、而许多其他 I2C 器件、例如器件 A、B、C

当 I2C 总线上存在器件 A (、由 GPIO 检测到)时、器件 A 将是 I2C 主器件、FR2422将是 I2C 从器件。

当 I2C 总线上不存在器件 A 时、FR2422将是 I2C 主器件。

这可以通过在 I2C 主设备和 I2C 从设备之间动态切换 FR2422 I2C 来实现、具体取决于器件 A 的可用性(使用另一个 GPIO)。 对吗?

2.修改 UCMST、然后复位 I2C 模块 UCSWRS、可以实现 I2C 主从设备之间的切换。 对吗?

对于我们切换 I2C 主设备和从设备、您有什么意见/注意事项吗?

黄维恩

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

    您好、Wayne、

    根据您的描述、FR2422上的状态仅发生变化、因此需要确保 FR2422知道器件 A 是否要加入通信。 如果您的设计器件 A 可以中断 FR2422和其他器件之间的通信、则一个 GPIO 是可以的。 如果不是、则需要使用另一个 GPIO 作为 FR2422的 ACK。 您可以使用 GPIO 中断、I2C 中断具有更高的优先级。

    2.您首先需要设置"UCB0CTLW0 = UCSWRST"以启用软件复位、重新配置后、您需要设置"UCB0CTLW0 &=~UCSWRST"以关闭软件复位。 强烈建议您参考我们的示例代码。

    3. 更改 FR2422的状态将涉及一些风险。 这取决于您如何设计软件。 您能否通过器件 A 向 FR2422发送想要从器件 B 和 C 获取的信息? 这意味着 FR2422始终是从器件、您将工作移至器件 A。然后您可以保存1个 GPIO。

    伊斯天

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

    尊敬的伊斯天

    我知道。  
    感谢您的信息。  

    韦恩