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.

[参考译文] MSP-EXP432E401Y:MSP-EXP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370128/msp-exp432e401y-msp-exp432e401y

器件型号:MSP-EXP432E401Y

工具与软件:

您好!

我正在使用 MSP-EXP432E401Y 板。  

我想使用静态 IP 将其连接到我的 PC。  

我从 code composer studio 的示例中下载了"ethernet_with_lwip_msp_EXP432E401Y_nortos_ccs"示例工程。 此项目基于 DHCP 网络协议。 为了将其转换为静态 IP 模式,我在 enet_lwip.c 文件中进行了此修改:

 lwIPInit (g_ui32SysClock、pui8MACArray、323235,777,4294967040、0、 ipaddr_use_static);

但仍然无法通过我的系统对其执行 Ping 操作。

请告诉我为了使该评估板能够在静态 IP 模式下工作、还需要进行哪些修改。

4294967040字符串等于255.255.255.0

而 323235777的字符串为192.168.1.1

我的系统 IP 是192.168.1.5

 

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

    您好!

     您还需要在 lwipopts.h 文件中将下面两个宏设置为0。  

    #define LWIP_DHCP 0

    #define LWIP_AUTOIP 0

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

    我做了如上所述,但当我构建代码时,它显示错误"identifier "ARP_TMR_interval"是未定义的"。 此参数位于 etharp.h 文件中。 但仍然显示未定义。

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

    您好、先生、

    我刚从 etharp.h 文件中获取"#define ARP_TMR_INTERVAL 1000"参数、然后将其复制到 lwiplib.c 文件中。 构建代码后,将显示一条警告" function "etharp_tmr" declared independent"(隐式声明函数"etharp_tmr")。 如何删除此警告、以及 此警告的相关性如何?

    当我在卡的以太网端口上加载并运行此代码时、我的笔记本电脑开始执行 Ping 操作。

    使用 arp -a commad 我也可以看到卡的 MAC 和 IP。

    我还想知道如何确保修改的代码被 正确配置为静态 IP 模式,因为当我在卡上运行代码时, Wireshark 工具正在捕获 HTTP 搜索的数据包,尽管我已经屏蔽了" httpd_init ();"函数 enet_lwip.c 文件。

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

    您好!

     在 lwiplib.c 文件中、您能否添加头文件。 请参见下文。  

    如果可以对指定静态地址处的器件执行 ping 操作、则静态地址有效。  

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

    谢谢!

    在添加头文件后、编译期间删除了出现的警告。

    现在、

    我想从 MCU 发送和接收 UDP 数据包。 我如何在代码中进行该操作??? 是否有与此相关的示例代码???

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="608869" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370128/msp-exp432e401y-msp-exp432e401y/5237460 #5237460"]

    在添加头文件后、编译期间删除了出现的警告。

    [报价]

    很高兴警告得到解决。  

    我想从 MCU 发送和接收 UDP 数据包。 我如何在代码中进行该操作??? 是否有与此相关的示例代码???

    如果警告得到解决、您为什么拒绝我的回答。 只是因为您有一个有关 UDP 的新问题、所以您拒绝我对先前问题的回答? 如果您有新问题、而不是 拒绝别人的回答、那么您应该打开一个新主题、以便您可以在同一主题上继续处理新问题。  

    TI Resource Explorer 中有一个 UDP 示例、但它基于 RTOS。 请参见下文。  

    对于裸机 lwIP UDP 示例、没有适用于 MSP432E 的   器件、但您可以参考以下应用手册 www.ti.com/.../spna248 lwip 示例适用于与 MSP432E 相同的器件 TM4C129 MCU。  

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

    您可以共享其"udp.h"文件。 我没有在 spna248文件夹内得到它,我从上面提供的链接下载。

    此外、我想知道为 TM4C129编写的语法正确的代码是否与 MSP432E 相同。

    我是否 也可以将 TM4C129中用户定义的函数用于 MSP432E。

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

    对不起,我没有拒绝你的答案. 我是第一次使用这个平台. 我只是想让这个线程保持打开状态、以便让聊天继续进行。

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

    您好!

     我有一些问题。

     -您使用什么工具将 UDP 数据发送到 MCU ? 我通常使用 Hercules。  https://www.hw-group.com/software/hercules-setup-utility。UdpEchoRecv 是回调函数、回调函数在回波服务器接收数据时调用。 接收到数据后、它只会回显到发送方(在 PC 上运行的客户端应用程序)。 您是否有从 PC 发送的数据? 它显示什么?

     -您的客户端与服务器位于同一子网中吗?

     -如果使用 DHCP、结果是什么?  

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

    您好!

    我在代码中进行了一些修改。 现在、在本例中、我能够将数据包从 MCU 发送到 PC。  我也在 Wireshark 和 Hercules 上检查接收到数据包。

     当我将数据包从 PC (使用 Hercules)发送到 MCU 时、我可以在 Wireshark 上看到数据包。

    发送每个数据包时、MCU 的 D3 LED 也闪烁。 但我不知道数据包是否到达 MCU、以及如何查看这些数据包。

    我使用了 UdpEchoRecv 函数、并添加了代码来打印接收到的消息。 但是、当我从 Hercules 运行该代码并发送数据包时、CCS 的控制台上不会打印任何内容。 此外, 在 UdpEchoRecv 中 有一个函数 udp_sendto(pc, p, addr , port),它应该将相同的数据包作为回显(确认)发送回 PC (Hercules ),但也有我没有收到任何数据包。

     我正在与您分享最新的代码文件。 请参阅并指导如何解决该问题。

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

    我感到困惑、在  main ()中、你同时调用 UdpClientInit 和 UdpEchoInit。 您想为什么目的设置 MCU? 作为服务器还是客户端? 为什么不从 EchoServer 示例开始? 在 enet_udpecho_server_lwip 示例中、MCU 是服务器、PC 是客户端。 PC 首先向服务器发送消息、服务器将回显收到的消息。  

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

    您好、先生、

    我同时将其用作客户端和服务器。 我想通过这个 MCU 发送和接收数据包。

    我再进行一些更改、现在我能够从 MCU 发送和接收数据包。 但代码中几乎没有警告。 我与之共享。 请告诉我们如何解决这些问题。

    1) 1) 描述   资源   路径   位置   类型
    指向 void 或函数类型   enet_lwip.c   /ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs   行278   C/C++问题的#1219-D 算术

    2) 描述   资源   路径   位置   类型
    "struct ip_addr *"类型的#169-D 参数与"const ip_addr_t *" enet_lwip.c      /ethernet_with_lwip_MSP_EXP432E40nortos_ccs   行178   C/C++问题的参数不兼容

    3)描述   资源   路径   位置   类型
    类型为"void (*)(void *、struct udp_pcb *、struct pbuf *、struct ip_addr *、u16_t)"的#1y-D 参数与类型为"udp_recv_fn"   enet_lwip.c /ethernet_with_lwip_msp_EXP432E40316_nortos_ccs      行的参数不兼容    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="608869" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370128/msp-exp432e401y-msp-exp432e401y/5256747 #5256747"]

    1) 1) 描述   资源   路径   位置   类型
    指向 void 或函数类型   enet_lwip.c   /ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs   行278   C/C++问题的#1219-D 算术

    2) 描述   资源   路径   位置   类型
    "struct ip_addr *"类型的#169-D 参数与"const ip_addr_t *" enet_lwip.c      /ethernet_with_lwip_MSP_EXP432E40nortos_ccs   行178   C/C++问题的参数不兼容

    3)描述   资源   路径   位置   类型
    类型为"void (*)(void *、struct udp_pcb *、struct pbuf *、struct ip_addr *、u16_t)"的#1y-D 参数与类型为"udp_recv_fn"   enet_lwip.c /ethernet_with_lwip_msp_EXP432E40316_nortos_ccs      行的参数不兼容    

    [报价]

    这些警告还是错误? 您是否确定显示的行号(例如278) 与您的源代码匹配?

    我同时使用它作为客户端和服务器。 我希望通过此 MCU 发送和接收数据包。[/QUOT]

    正如我所提到的、为什么不从一个开始、同时确保每个(作为服务器或作为客户端)都先工作。

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

    我之前提供的 UDP 示例基于 lwip 1.4.1版本、而 MSP432E SimpleLink SDK 使用新版本的 lwip 栈。 请参见以下比较结果、其中左侧是 MSP432E 的 udp_connect、右侧是较旧的1.4.1版本。  

    [报价 userid="608869" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370128/msp-exp432e401y-msp-exp432e401y/5266134 #5266134"]

    还有一个问题、如果我在设计中使用这种微控制器、那么我应该使用哪个 JTAG 来对其进行编程。

    [报价]

    您可以使用 MSP-EXP432E401Y LaunchPad 中已内置的 XDS110。 如果要使用外部调试探针、可以使用 XDS110和 XDS200等常见且成本较低的探针。 请参阅以下支持的探头。 以黄色突出显示的端口是常见端口。