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.

[参考译文] MSP430FR5969:UART 一个主器件存在多个从器件通信问题

Guru**** 2538930 points
Other Parts Discussed in Thread: MSP430FR5969

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1065715/msp430fr5969-uart-one-master-with-multiple-slave-communication-issue

器件型号:MSP430FR5969

大家好、

以下是客户提出的问题、可能需要您的帮助:

Raspberry PIE 与多个 MSP430FR5969单片机之间的 UART 通信、其中 Raspberry PIE 是主机、而多个 FR5969是从机。

功能要求:主机通过 UART 向多个 FR5969从站广播信息、UART 根据广播消息中的消息 ID 确定是否接受消息; 所有从机都接受该消息、然后将该消息发送回主机、同时一个从机可以监听其他从机消息。

问题:

1.如何协调多个从机依次向主机发送消息?

2.如何实现从设备来侦听其他发送到主机的从设备消息?

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    在这种情况下、更好的通信接口是 I2C、如果他们可以切换到使用 I2C、我会尝试使用 I2C。 否则、解决方案将在发送的消息中以及控制器如何响应。  

    对于已发送的消息,您可以向已发送的消息添加标识符,例如,只需标记一个数字即可确定发送了什么消息的设备。 然后、您必须阅读发送的消息、查找标识符编号以了解消息来自哪个器件、并执行相应的被调用函数。

    1.对于轮流、主控制器发送的消息可以调用设备需要响应的消息、也可以设置延迟(非首选)

    2.您只需将 Tx 线路连接到要监听其他外设的器件的 Rx 线路。

    您可以将所有器件连接到 UART 的相同 RX 和 TX 线路、以便它们都使用相同的线路。

    这本质上是具有额外步骤的 I2C。

    此致、

    Luke

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

    这不是 MSP430硬件问题、而是软件协议问题。 多年来已发布了许多解决方案。

    处理它的最简单方法是、目标仅在收到消息后立即响应。 如果目标可以随时发送消息,则必须实施冲突检测和避免。 (在这种情况下、通道容量将下降。)