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.

[参考译文] MSP430F5529:两个MSP430F5529启动板之间使用USB_CDC_API进行通信

Guru**** 2587345 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/617415/msp430f5529-communication-between-two-msp430f5529-launch-pads-using-usb_cdc_api

部件号:MSP430F5529

我希望两个EXP430F5529LP启动板能够相互通信。  我 尝试使用 USB开发者软件包中的CDC (虚拟COM端口)示例。  我在一个启动板中加载了C0_Simple send,在两个启动板中加载了C1_LEDOnOff示例。 我尝试调试包含C1_LEDONOff示例的启动板。 似乎未收到数据。 (我知道程序没有进入" if (bCDCDataReceived_event)"条件)。 我已将WFP 3.4 连接到P' 3.3 ,将WFP 3.3 连接到P' 3.4 (Tx连接到Rx,Rx连接到Tx UART)。


我的问题是两个MSP430是否可以使用CDC_API进行通信? 如果是,我做错了什么? C1_LEDOnOff示例如何接收数据? 我看到使用USBCDC_receiveDataInBuffer子例程接收数据,但提到了

/*此调用仅检索已在USB缓冲区中等待的数据,即MCU已接收的数据。

我没有看到使用函数 USBCDC_receiveData()。

提前感谢您的参与。

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

    您好,Manoj,

    为了帮助我解决您的问题并了解您正在尝试完成的任务,为什么您要在两个MCU之间使用USB通信,而您可以使用SPI,UART或I2C之类的工具?

    您描述的方法有很多错误。 通常,两个MSP430不通过USB进行通信,数据电压电平为0至5V。 此外,您已将UART引脚连接在一起,但MPS430F5529上的USB使用Pu.1/DM和Pu.0/DP引脚进行通信。 可以连接两个MSP430并通过USB进行通信,但这需要花费大量的精力。 如果您专注于这种方法,我将通读 使用MSP430 MCU开始USB设计。  

    但是,如果您只需要与MCU之间的通信,我建议使用更简单的协议,如UART。

    此致,  
    Caleb Overbay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您提供的信息。
    我不使用SPI和I2C的原因是我的微控制器已经在与其他传感器通信,我不想干扰通信。 我认为你所说的UART似乎是一个不错的选择。 在MSP430F5529中,我可以从哪里开始使用UART,是否有任何指南? 使用UART,是否可以从多台主机接收数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manoj

    SPI和I2C设置为可以让多个设备在同一总线上通信。 我建议您执行快速Google搜索,以便更好地了解协议,了解它们是否适合您。

    UART是一种点对点通信协议。 这意味着不建议使用多台主机,但理论上,如果需要,您可以实施多台主机。 这只需要比使用SPI或I2C之类的工具花费更多的精力。 您可以在 此处的示例中找到SPI,I2C和UART的示例

    此致,

    Caleb Overbay