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.

[参考译文] TMS320F28388D:C2000微控制器论坛

Guru**** 2540720 points
Other Parts Discussed in Thread: TMS320F28388D, DP83822I, TMDSCNCD28388D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum

器件型号:TMS320F28388D
主题中讨论的其他器件: DP83822IC2000WARETMDSCNCD28388D

您好!

我想在笔记本电脑和 TMS320F28388D 之间实现以太网回送。
我想知道如何开始意识到这一点。
电路板已准备就绪、PHY 器件为 DP83822I。

作为参考、这里是我到目前为止尝试过的。

1.使用 LAN 电缆连接 PC 和电路板。 为 MS320F28388D 和 DP83822I 供电。
此时、PHY 器件的 LED_1开启。

2.将 EtherNet_C28x_config.out 加载到 CPU1。

3.将 Ethernet_ex2_phy_loopback.out 加载到 M4。

将 CPU1设置为运行。 此时、PHY 器件的 LED_0从 OFF 变为 ON、LED_1从 ON 变为 OFF。 笔记本电脑识别以太网。

将 M4设置为运行。 此时、LED_0从 OFF 变为 ON、PC 不再识别以太网。 LED_1仍处于关闭状态。

(我不知道为什么在运行 M4后无法识别以太网。)

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

    您好!

     Ethernet_ex2_phy_loopback 是一个内部环回示例、其中数据包由器件传输、phy 将其环回 f28388d。

    为了与笔记本电脑通信、您可以使用基于 TCP/IP 堆栈的示例、例如 enet_lwip。

    您可以在此处找到该项目 \libraries\communications\ethernet/third_party/lwip\examples\enet_lwip\cm\

    您可以按照项目中 readme.txt 中的步骤开始。  

    使用此功能时,您应该能够从主机 PC ping 设备(前提是已正确设置所有网络配置,如自述文件.txt 中提供的 IP 地址)。

    Rds、

    Yashwant

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

    大家好、 

    使用您提到的例程、28388D 中的数据能否通过以太网端口发送到笔记本电脑? 是否有成功案例?

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

    是的、本示例就是这样。 浏览 reader.txt 以了解通过 Web 服务器应用程序发送的数据。

    此致、

    Yashwant

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

    大家好、Yashwant Temburu1

    reader.txt 没有明确解释如何继续使用 CCS10.0。

    我当前的操作是将 enet_lwip 项目直接刻录到28388D 中、然后将计算机的 IP 设置为192.168.0.5。 然后使用网络电缆连接到 TMDSCNCD28388D 的 J4和计算机的网络端口。 接下来、在计算机上、ping 命令 cmd 下的192.168.0.4、返回的消息是无法访问目标主机。

    我的操作是否有任何问题?

    谢谢!

    Vince

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

    大家好、Yashwant Temburu1

    在 CCS 中、我首先将 EtherNet_C28x_config.out 调试到 CPU1中、然后将 enet_lwip 加载到 CM4中、然后分别单击以运行 CPU1和 CM4。 之后,计算机的 IP 被更改为192.168.0.5。 使用网络电缆将 J4连接到计算机的网络端口。 然后、在 cmd 下 ping 1922.168.0.4、以获得下图所示的效果。 结果是正确的、对吧? 但是、如何操作以使开发板中的数据可以发送到计算机、并且可以在计算机上实时查看数据?

    这张图片已经显示发件人设备可以从 f2838x 设备的 IP 地址看到 ping 应答、对吧?

    谢谢

    Vince

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

    大家好、 

    我想问、下一个目的是通过以太网端口将开发板 CPU1内核的数据发送到计算机。

    下一个任务是更改 enet_lwip.c 文件中的程序。 同样在 EtherNet_C28x_CONFIG 项目下、修改与以太网对应的引脚。

    完成上述操作后、应可以将开发板的数据从 CPU1内核发送到 CM4内核、 然后通过以太网端口将其发送到计算机、以便在计算机端实现数据的实时更改、对吧?

    但在本例中、涉及 IPC 问题、因此应更改例程。
    替换为:C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\examples\C28x_cm\ethernet

    然后、在 EtherNet_IPC_ex1_basic_cm.c 例程下、修改代码以实现将开发板(位于 CPU1内核中)的数据发送到计算机以供显示。

    使用的开发板模型为:TMDSCNCD28388D。

    谢谢!

    Vince

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

    Vince、

    通过前面的消息、我们可以确认主机 PC 和 f28388d 之间的连接已成功设置、因为存在 ping 应答。

    现在,如果您打开浏览器并加载192.168.0.4,则应该可以在浏览器上查看数据。

    很难修改  C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\examples\C28x_cm\ethernet/ipc_ex1_basic_cm.c 来支持笔记本电脑和 f28388d 之间的数据传输、因为通信需要 TCP/IP 堆栈。

    我建议您修改 enet_lwip 示例以包含 IPC 并修改 位于 C2000Ware_3_04_00_00\libraries\communications\ethernet/third_party\lwip-2.1.2\src\apps\http\fs\fs 中的 webserver html 文件、以传输所需的元素数据。

    您还可以参考 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/952362/tms320f28388d-how-to-change-html-file-for-lwip-example/3519732?tisearch=e2e-sitesearch&keymatch=lwip%2520http%2520files#3519732 以了解如何更新 http 文件。

    此致、

    Yashwant

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

    是的、请在网页上输入 IP、接口如上所示。

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

    大家好、 

    您是说、让我在 enet_lwip 示例中添加 IPC 代码、然后转到以下路径: C2000Ware_3_04_00_00 \ libraries \ communications \ ethernet \ third_party \ lwip \ lwip-2.1.2 \ src \ apps \ http \ fs \ fs、更改网页服务器的 html 文件。

    在 enet_lwip 示例中添加 IPC 代码、IPC 代码的源代码是来自以下路径中的文件:
    C:\ ti \ c2000 \ C2000Ware_3_04_00_00 \ driverlib \ f2838x \ examples \ C28x_cm \ Ethernet \ Ethernet_IPC_ex1_basic_cm.c

    关于 html 文件的修改、英文论坛工程师提供的链接、内部的修改是无法理解的、请告诉我更多相关信息。

    谢谢

    Vince

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

    Vince、

    [引用 userid="458684" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3695030 #3695030">您是说、让我在 enet_lwip 示例中添加 IPC 代码、然后转到以下路径: C2000Ware_3_04_00_00 \ libraries \ communications \ ethernet \ third_party \ lwip \ lwip-2.1.2 \ src \ apps \ http \ fs \ fs、更改网页服务器的 html 文件。

    你是对的、这就是我的意思。  

    关于 html 文件更新、您可能需要花一些时间了解 enet_lwip 示例的数据流、从 lwip 如何处理中间堆栈数据并将其发送到上层开始。 lwip 是一个开源堆栈、因此我们无法在如何使用堆栈方面提供太多帮助。

    您可以尝试在一些在线开放源码论坛上查找 lwip 支持。

    此致、

    Yashwant

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

    谢谢, 

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

    你(们)好

    很抱歉耽误你的回答。

    我能够使用 ping 发送和接收数据包。

    我的最终目的是从笔记本电脑更改 DSP 中的变量值。
    您能告诉我如何实现这一点吗?
    至于用户界面、您可以自己创建。
    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们将对此进行研究、并在一天左右的时间内返回给您。

    谢谢、

    Yashwant

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

    谢谢你。
    我正在等待您的回复。

    数据传输协议是 UDP、供您参考。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="485081" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3696451 #3696451"]我的最终目的是从笔记本电脑更改 DSP 中的变量值。

    通过执行以下更改、可以使用现有的 http_webserver enet_lwip 示例执行此操作。

    如我在上一篇文章 html 中所述、主机侧显示的 javascript 文件位于 C2000Ware_3_04_00_00\libraries\communications\ethernet/third_party\lwip-2.1.2\src\apps\http\fs\fs 位置。

    在 index.html 中,当按下按钮时调用 get_data()方法。 这是在 javascript 中定义的、其中 line req.open ("get"、"/param?id=""+ Math.random ()、true) 用于从器件内存访问变量。

    响应请求的器件端代码位于 C2000Ware_3_04_00_00\libraries\communications\ethernet/third_party.lwip\lwip-2.1.2\src\apps\http\fs.c 。 在 fs.c 的第82行 usnprintf (pcBuf、10、"%d"、httpHit)中;正在将变量值"httpHit "传输到主机。

    类似 地,您可以添加诸如 get_data()的自定义函数 send_data(),并使用 req.open ("put")类型方法向设备发送新值。

    此致、

    Yashwant

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

    大家好、 Yashwant Temburu1

    请告诉我。 在上述函数中、数据和地址通过 IPC 发送到 CM4内核。 我自己的数据被放置在以下数组 send_buff 中[150]。 我能否使用 send_buff 直接替换函数中的 packetData?

    我在函数的注释中看到 packetData 对应于地址、packet_length 对应于数据。

    这条评论让我有点困惑。

    我当前的进展是、需要由 CPU1内核运行的项目已得到改进、并且 CM4内核的项目也已准备就绪。 接下来、只要 Web 服务中的 http 文件发生更改、CM4接收到的数据就可以通过以太网发送到计算机 IP 地址为192.168.0.4的网页、并实时显示?

    谢谢

    Vince

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

    是的、您可以将 packetData 替换为 send_buff。 确保该变量位于共享 RAM 中。  #pragma DATA_SECTION (SEND_缓冲 区、"MSGRAM_CPU_TO_CM")。

    [引用 userid="458684" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3700300 #3700300"]packetData 对应于 addres[/quot]

    按地址表示指向数组的指针。  

    [引用 userid="458684" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3700300 #3700300"] packet_length 对应于数据

    这意味着它是 从地址起始位置(send_buff)发送的数据的长度

    -yashwant

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

    尊敬的 Yashwant Temburu1

    我有2个问题。

    1. req.open 中的第二个程序参数是什么("get"、"/ param?id ="+ Math.random ()、true)?

       它似乎指向某个位置、如果是、它在哪里?

    2.我已经检查了\ driverlib \ f2838x \ examples \ C28x_cm \ Ethernet 中的两个示例)。

    您在这里写的内容似乎是从 C28到 CM 的单向数据交换、这是正确的吗?

    如果是、是否有代码显示从 CM 到 C28的数据交换?

    谢谢你

    -Matsu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="485081" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3706185 #3706185"]

    req.open 中的第二个程序参数是什么("get"、"/ param?id ="+ Math.random ()、true)?

       它似乎指向某个位置、如果是、它在哪里

    [/报价]

    /param 是要从器件端应用程序读取的消息对象的关键。 它在 文件 FS.c 的第79行中使用、位于 WIP -2.1.2\src\apps\http\FS.c

    您可以使用不同的键读取器件存储器中的不同变量。  

    下面是 fs.c 中的注释、供您参考

    /*
    *这是一个占位符、可根据执行自定义函数
    *从 http 客户端在 URL 中接收到的参数。
    *

    [引用 userid="485081" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3706185 #3706185"]如果是,是否有代码显示从 CM 到 C28的数据交换。

     CM driverlib 具有类似的 IPC_sendCommand() API。  

    请浏览 C2000Ware_3_04_00_00\driverlib\f2838x\examples\C28x_cm\IPC 上的 IPC 示例、以了解更多信息。

    此致、

    Yashwant

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

    您好、

    在您的一侧、您是否能够通过28388D 上的以太网与计算机通信?

    如果方便、我想问一下。

    e2e.ti.com/.../3706211

    谢谢

    Vince

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

    您好、 Vince

    我能够使用 Ping 确认发送和接收。
    但是、我还不能做任何其他事情。

    谢谢你

    Matsu

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

    您好、Matsu

    我目前可以实现 IPC 内核间通信。 我正在考虑如何将数据发送到以太网芯片。

    如果方便、我们可以添加联系信息并进行交换。

    谢谢

    Vince

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

    尊敬的 Yashwant

    我使用这里的用户界面将数据发送到器件端。
    我检查了使用鲨鱼的情况、它似乎在传输。
    在器件侧检查此数据时、应参考哪个寄存器?

    *抱歉、我希望使用我的用户界面发送和接收数据、因此我不使用 html。

    e2e.ti.com/.../5488.cm_5F00_common_5F00_config_5F00_c28x.c

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

    尊敬的 Matsu:

    您可以在表达式窗口或存储器浏览器中读取以下全局变量- Ethernet_rxBuffer、该变量存储从 MAC 接收到的完整数据包。

    此致、

    Yashwant

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

    您好、Yashwant  

    找到了。
    感谢您的支持。

    谢谢你  

    Matsu

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

    尊敬的 Yashwant

    我对 Ethernet_rxBuffer 有疑问。

    我发送了52个字节的数据并检查了数组、它似乎在发送正确的值。
    但是、第52个数组之后的值也发生了变化。
    是这样吗?

    我对沟通不了解太多。
    请给我一些建议。

     

    谢谢你

    Matsu

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

    它们可以是 CRC 校验和字节、也可以由发送端代码更新。   

    如果没有您的设置知识、我们无法发表太多评论。

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

    如果使用 ping 命令,则最多255个元素的值也将更改。 在第256个元素之后、该值保持为0。

    使用的代码是 enet_lwip 和 ethernet_c28_config。

    我没有对代码进行任何重大更改。
    我刚才更改了 ethenet_c28_config 的引脚编号以匹配器件。

    您能告诉我为什么会发生这种情况吗?

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

    ping 命令还会在 ICMP 报头上发送一些有效负载、器件必须使用相同的有效负载进行响应。

    因此、仅是数字或字母序列的有效载荷可能是那么长。

    -yashwant

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

    您好、Yashwant  

    我能够确认从笔记本电脑发送的数据已写入 rxbuffur、但几秒钟后、它会更改为其他值。 这是正确的行为吗? 我在确认写入数据后没有发送任何数据。

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

    尊敬的 Matsu:

    同一网络上可能还有其他数据包、如 ARP、DHCP 请求数据包、这些数据包可能不会通过 ping 命令发送、而设备可能会接收到这些数据包、因此 EtherNet_rxBuffer 正在更改。

    在发送1个 ping 且数据被覆盖时、您能否粘贴网络的 Wireshark 日志?  我们可以确认器件是覆盖还是其他内容。

    -yashwant

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

    您好、Yashwant

    我在运行 ping 命令时向您发送 Wireshark 结果。

    在 Wireshark 8号或9号计时时、RX_buffer 的值被重写、如捕获中所示。

    如果您需要更多信息、请告诉我。

    e2e.ti.com/.../After_5F00_ping.zip

    谢谢你

    Matsu

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

    我看到您的 Wireshark 日志中还有其他广播包(.255)、它们也是由设备捕获/读取的。 因此、根据  代码中的 EtherNet_NO_OR_RX_packets 值、在每个值之后、可能有数量的数据包、该存储器位置将被更新。  

    您可以增加软件中的数据包间延迟、以便在重写之前处理这些数据包。

    此致、

    Yashwant

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

    您能告诉我、更改对更改数据包间延迟有何影响吗?

    代码 为 enet_lwip 和 ethernet_c28_config。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能告诉我更改需要对更改数据包间延迟执行什么操作吗?

    这必须在您正在使用的软件发送端完成。 应该有一些设置来更改延迟。

    -yashwant

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

    如您所述、Wireshark 中还有其他广播包(.255)。
    但是,设备的 IP 地址是(192.168.0.4)。

    这是要重写的数据包的正确行为吗?

    Matsu

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

    英语可能难以理解、因此我将补充它。


    为目的(.255)捕获数据包的行为是否正确?
    是否有任何方法可以防止捕获?

    Matsu

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

    0.255是广播地址、因此子网络上的每个器件都将接收数据包。  

    是的、这是正确的行为。

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

    感谢你的答复

    我有两个问题。


    1.通过更改笔记本电脑上的设置,我可以停止 NBNS 广播包。
    但是、仍在发送 UDP 广播包。 您能告诉我原因吗?


    2.有一个数组元素,无论我从笔记本电脑发送多少次数据,其值都不会改变,如下所示。
    例如、我认为前6个字节是 dst 地址、但值不会改变。 您能告诉我原因吗?

    使用 ping 时也会出现这种情况。

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

    我有两个问题,但你可以先回答一个问题。

    Matsu

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

    您好、 Yashwant

    我想补充上述第2号。
    如果您使用 C2000Ware_3_04_00_00、则会正确更新 Rx_buffer 的值。

    但是、如果您使用 C2000Ware_2_00_00_02、Rx_buffer 的值将不会更新或更改为 Wireshark 未显示的值。

    由于我们使用 C2000Ware_2_00_00_02为除以太网以外的所有器件创建软件、因此我们希望尽可能使用 C2000Ware_2_00_00_02实现以太网通信。

    您是否知道使用 C2000Ware_3_04_00_00和 C2000Ware_2_00_02时结果为何不同?

    此外、在过去、我向您报告说 RX_Buffer 的值已正确更新、但这次我使用 C2000Ware_2_00_00_02。 我不知道为什么它不起作用。 当您进行意外更改时、是否会发生这种情况?

    Matsu

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

     对 C2000Ware_3_04_00_00以太网模块的示例和低级驱动程序进行了一些更新。 当器件受到多个数据包间延迟较小的攻击时、这会更加稳定。  

    我建议您使用 v3.4而不是 v3.2。

    此致、

    Yashwant

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

    您好、Yashwant

    我知道它已更新。
    我想知道 v3.4是否已完成通信。
    是否可以安全地假设未来不会发生重大变化?

    Matsu

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

    v3.4也有一些小更新。 我已附上将在下一个版本中发布的更新文件。 在我们的测试中、我们已经验证了它的用例、但无法保证它是完整的。  

    但 v3.4不会有任何显著变化

    e2e.ti.com/.../43847.enet_5F00_lwip.ce2e.ti.com/.../5554.f2838xif.ce2e.ti.com/.../8712.ethernet.ce2e.ti.com/.../5751.ethernet.h

    此致、

    Yashwant

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

    您好、 Yashwant

    感谢您分享信息。

    我们有一些顾虑、但我们在从笔记本电脑到 CM 的数据传输方面取得了进展。
    下一步是从 CM 向笔记本电脑发送数据。
    您能给我一些要参考的代码和要使用的函数吗?

    Matsu

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

    你(们)好

    是否有人愿意响应我的请求?

    Matsu

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

    从 CM 传输数据有多种方法(使用 HTTP、UDP 套接字、仅 TCP 有效载荷)。 确保要传输的数据具有正确的标头、如 IP 地址、协议标志、以便笔记本电脑能够接收和创建连接。

    首先,您可以在  enet_lwip 示例中查看 lwIP API tcp_output()、tcp_new()。   使用  tcp_new()正确配置协议控制块的远程 IP 地址和设备 IP 地址后  ,您可以使用指向要发送的所需数据的新 pbuf 来更新 PCB 的数据指针。 然后,您可以调用  tcp_output() ,将该 PCB 作为一个参数传递,该参数将使用 f2838x 接口层将数据发送到网络。

    对于笔记本电脑中的主机端、您可以使用  python 套接 字封装等工具来发送或接收数据包、或者仅使用 Wireshark 来接入网络以检查是否接收到数据。

    我们没有您要查找的确切示例、但在下面的答复中、我暗示了一种更新 http 变量以传输该数据的方法。

    [引用 userid="463143" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/998994/tms320f28388d-c2000-microcontrollers-forum/3698362 #3698362"]

    通过执行以下更改、可以使用现有的 http_webserver enet_lwip 示例执行此操作。

    如我在上一篇文章 html 中所述、主机侧显示的 javascript 文件位于 C2000Ware_3_04_00_00\libraries\communications\ethernet/third_party\lwip-2.1.2\src\apps\http\fs\fs 位置。

    在 index.html 中,当按下按钮时调用 get_data()方法。 这是在 javascript 中定义的、其中 line req.open ("get"、"/param?id=""+ Math.random ()、true) 用于从器件内存访问变量。

    响应请求的器件端代码位于 C2000Ware_3_04_00_00\libraries\communications\ethernet/third_party.lwip\lwip-2.1.2\src\apps\http\fs.c 。 在 fs.c 的第82行 usnprintf (pcBuf、10、"%d"、httpHit)中;正在将变量值"httpHit "传输到主机。

    类似 地,您可以添加诸如 get_data()的自定义函数 send_data(),并使用 req.open ("put")类型方法向设备发送新值。

    [/报价]

    此致、

    Yashwant

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

    您好、Yashwant

    感谢您的回答。   

    传输方式是 UDP 套接字。  

    是否有任何有关 tcp_output 或 tcp_new 的文档可能有用?

    我发现很难从代码中理解它们。

     Matsu

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

    您可以在 lwIP 官方网站上找到 lwIP 协议栈的文档。  https://www.nongnu.org/lwip/2_1_x/index.html

    谢谢、

    Yashwant