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.
我尝试使用 UDP 发送大约4K 的数据。 如果我发送大约1400字节、我有一个应用程序工作。 但是、如果我尝试发送4K、那么我就不会收到任何数据包。 我是否需要在 LWIP 中配置任何内容才能执行此操作? 谢谢
void eth_udp_tx () { struct pbuf *p; ERR_t 错误; P = pbuf_alloc (PBUF_transport、1400、PBUF_RAM); 如果(p) { memcpy (p->payload、eth_TX_Buf、1400); ERR = udp_sendto (new_udp_pcb、p、&udp_addr、udp_port); pbuf_free (p); } }
[报价用户="Jon Bean1]LWIP 中是否需要配置任何内容才能执行此操作? lwipopts.h 中用于在项目中配置 lwip 的 IP_Frag 的值是什么?
IP_Frag 需要设置为1、以便在传出 IP 数据包的大小超过 MTU 时对其进行碎片整理。
谢谢、我在发布后发现自己确实可以正常工作。 但是、是否可以使用巨型帧、以便在一个数据包中发送有效负载? 如果是、我需要做什么?
您好!
感谢切斯特的投入。 就大型帧而言、硬件端的片上 EMAC 和软件端的 LwIP 都支持该帧。 但是、我们在使用巨型帧作为在 LwIP 上正确配置大型帧操作的内容/方法方面没有任何经验。 我建议您访问 LwIP 论坛。 也许切斯特有这方面的经验,欢迎他的意见。
你(们)好,查尔斯
我已经在 LwIP 论坛上尝试过、但实际上还没有找到任何地方。 我看到需要设置的巨型帧的以太网配置有一些配置参数
EMAC_CONFIG_Jabber_disable
EMAC_CONFIG_Jumbo 启用
LwIP 的端口目录中还有一个用于设置 MTU 的文件
psNetif->MTU = 1500;
我尝试将其设置为更大的值、但它不起作用。 可能还有其他事情需要做、但我对 LwIP 的了解不够。
此致
Jon
您好、Jon、
抱歉、LwIP 是第三方软件、我们在其底层架构和所有旋钮方面没有任何专业知识。 我希望他们能给您提供建议。 您需要破解端口目录才能使用巨型帧、这一点我并不感到奇怪。 如果您有任何调查结果可能会让寻求相同想法的社区受益、请回复。
[引述用户="Charles Tsaaaa">也许 Chester 有这方面的经验,欢迎他的意见。 [/QUEY]我尚未尝试在 TM4C129器件中使用巨型帧。
[引用用户="Charles Tsaaa">就巨型帧而言、它由硬件端的片上 EMAC 和软件端的 LwIP 提供支持。 在线程 MSP432E401Y 中:此器件是否支持发送巨型数据包帧 答案是:
[引用 USER="Eddie LaCost ]我被告知帧大小限制为1500字节、因为 EMAC 不支持其他大小。由于我认为 MSP432E401Y 使用与 TM4C129器件相同的 EMAC、我认为这意味着 TM4C129器件也不支持巨型帧、 尽管如上所述、我尚未尝试对其进行测试。
感谢您提供信息。 我将仅在标准模式下使用 LwIP、因为让大型帧正常工作是不可能的、也可能需要比我想花更多的时间来做更多的工作。
此致
Jon