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.
尊敬的香榭丽舍
我向我们的客户提出这一问题。
用户希望将 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。
伊斯天
尊敬的伊斯天
我知道。
感谢您的信息。
韦恩