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.

[参考译文] TM4C1294NCZAD:lwIP MCU 未连接到具有静态 IP 寻址的 PC

Guru**** 2511985 points
Other Parts Discussed in Thread: TM4C1294NCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1110293/tm4c1294nczad-lwip-mcu-not-connecting-to-pc-with-static-ip-addressing

器件型号:TM4C1294NCZAD

您好!

我想使用 lwIP 通过直接以太网连接将我的 PC 连接到 TM4C1294NCZAD、并且一直在移植 lwIP 项目"enet_tcpecho_client_lwip"以执行此操作(请参阅 SPNA 248: 适用于轻量级 IP 的 TM4C129x 以太网应用)。  

我能够通过公司的网络使用 DHCP 与 MCU 通信、但无法使用静态寻址进行连接。 下面是我定义的 IP 地址变量的图像。 我在 PC 以太网端口上静态定义了服务器(PC)地址。 最后三行是与服务器地址匹配的客户端(MCU)的任意地址。

当我在 lwIPInit 中使用 IPADDR_USE_STATIC 并调用 tcp_connect (请参阅下面的两个映像)时、ConnectCallback 函数永远不会被调用、g_bconnect 变量也不会被切换(请参阅下面的两个映像)。  

lwIPInit

在 lwIPInit 之后调用 tcp_connect

连接回调函数(从不调用)

上述函数永远不会被调用、g_bconnect 永远不会被切换。

我已将 lwipopts.h 中的 LWIP_DHCP 和 LWIP_AUTOIP 更改为0 (根据 SPNA 248:适用于轻量级 IP 的 TM4C129x 以太网应用)。

如果您有任何建议或意见、告诉您为什么我没有从 PC 接收到连接信号、以及为什么 ConnectCallback 函数没有被调用、我们将不胜感激!

下面是完整的主 c 文件。

e2e.ti.com/.../enet_5F00_tcpecho_5F00_client_5F00_lwip.c

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

    您好!

     尝试按如下所示反转字节顺序。  

    #define SERVER_IPADDR "10.1.168.192"
    #define SERVER_PORT 8000

    #define myIP "20.1.168.192"
    #define MYSUBNET "0.255.255.255"
    #define MYGW"1.1.168.192"

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

    感谢您的快速回复。

    遗憾的是、这不起作用(ConnectCallback 不会被调用、g_bconnect 保持为0)。

    我尝试了不同的组合、以反向字节顺序设置不同的地址、但没有任何用处。

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

    为什么不使用 enet_tcpcho_server_static_ip_lwip 示例? 它是否适合您?  

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

    我将尝试该示例并返回给您。 谢谢。

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

    enet_tcpcho_server_static_ip_lwip 移植到我的主板上是有效的--谢谢你们的建议。 不确定我之前的代码为什么不起作用、但我将使用此新示例作为参考、因为我将重新调整代码以更好地适应我的应用。