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.

[参考译文] TMS320F28386S:lwip UDP -消息不会发送、仅在接收后才会发送。

Guru**** 2536320 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1168424/tms320f28386s-lwip-udp---messages-are-not-sent-only-after-received

器件型号:TMS320F28386S

您好!

我正在测试为28388器件提供的 tie 示例项目。

我需要使用多个套接字。

```μ A

g_upcb1 = udp_new();
udp_bind (g_upcb、IP_ADDR_ANY、2000);
udp_recv (g_upcb、&udp_rx_callback、(void*) 1);

g_upcb2 = udp_new();
udp_bind (g_upcb1、ip_ADDR_any、3000);
udp_recv (g_upcb1、&udp_rx_callback、(void*) 2);

```μ A

我需要从套接字1接收一条消息、并向套接字2发送另一条消息。

我在具有不同端口的 PC 上使用2个 UDP 终端来测试应用。

端口2000是命令端口、端口3000是从端口。

测试是从计算机从端口2000发送命令、让 CM 在端口3000向从设备发送消息。

我看到的问题是 PC 端口3000未收到消息。

只有当我从端口3000向 CM 发送消息后、才会在端口3000接收到消息。

在特定端口上接收消息之前、MC 似乎不会发出消息。

有什么想法如何解决这种行为?

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

    Givon、  

    查看 UDP 的示例、可以看到一个字符串"start"开始发送消息。  仅当它接收到该字符串、然后调用'udp_send'发送消息时、才会将 boolen 标志'connected _udp_28000'设置为 true。  

    您必须更新此逻辑以发送消息、然后再接收"开始"字符串。

    此致

    Siddharth

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

    您好!  

    我当然更改了逻辑。
    我明白这一点并不清楚。

    请参阅随附的用于 testinge2e.ti.com/.../1122.Ethernet.c 的文件

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

    Givon、

    查看您共享的代码并返回给您。

    此致

    Siddharth

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

    Givon、  

    您是否能够解决此问题?   

    此致

    Siddharth