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.

[参考译文] TMS570LS3137:在没有 Wireshark 应用的情况下无法接收数据包。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/976527/tms570ls3137-packets-not-receiving-without-wireshark-application

器件型号:TMS570LS3137

大家好、

我们 在设计中使用了 TMS5703137CGWTMEP 微控制器。 以太网 UDP 协议与 LWIP 库一起使用、但在从控制器接收数据包到 PC 时、我们面临着一些问题、

如果没有 Wireshark 应用程序、PC 端 UDP 数据包将不会接收、当我们打开鲨鱼线时、数据包将从 PC 端的控制器接收。  

PHY: DP83848MPHP

//UDP 代码

uint8 emacAddress[6U]={0x00U、0x08U、0xEEU、0x03U、0xA6U、 0x6CU};
uint32 emacPhyAddress = 1U;

lwIPInit (0、emacAddress、0xA2C0251F、0Xff0000、0、 ipaddr_use_static);

IntMasterIRQEnable();
_enable_FIQ ();

for (i=0;i<1454;i++)
data[i]=i;

P = pbuf_alloc (PBUF_IP、UDP_HLEN、PBUF_RAM);

p->NEXT = 0;
p->len=256;
p->tot_len=256;
p->PAYLOAD =(void *)数据;

IP_src.addr = 0xA2C0251F;//162.192.37.31控制器 IP
ipaddrsrccpy= ip_src.addr;
IP_DES.addr = 0xA2C0251E;//162.192.37.30 PC IP
net_mask.addr=0xFFFFFF0000;//255.255.0.0
gw_addr.addr=0;


PCB = UDP_NEW ();
UDP_recv (PCB、LocatorReceive、NULL);
错误= UDP_BIND (PCB、&IP_src、60000);
错误= UDP_CONNECT (PCB、&IP_DES、60001);

请大家解释一下如何解决这个问题。

在  我们的设计中附加了 MSP430FR5989-EP 电路以供参考。

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

    您好,

    您的代码不会将数据发送到目的地。 如果 PC 向 EVM 发送数据、EVM 是否正确获取数据? 回调函数"LocatorReceive"在从 PC 接收 UDP 数据包时被调用。

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

     您好 、QJ Wang

    我从以下代码发送数据、

    空 CEthernetTelemetry (uint16_t Packet_size、uint8_t DataFrameFormat[])//UDP 代码

    uint16_t i=0;
    pbuf_free (p);
    P = pbuf_alloc (PBUF_transport、Packet_Size、PBUF_RAM);//PBUF_IPUDP_HLEN
    p->NEXT = 0;
    p->len=Package_size;
    p->t_len=Package_size;

    for (i=0;<Packet_size;i++))

    *((uint8 *) p->PAYLOAD+I)=DataFrameFormat[i];

    udp_send (PCB、p);

    从 PC 到 EVM 的数据正确传输、无需 Wireshark 应用程序。

    问题是从 EVM 到 PC,数据仅 在我们打开 Wireshark 时才出现。

    谢谢你

    此致

    Ullas

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

    您好、Ullas、

    您是否已解决此问题?