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.

[参考译文] CCS/TMS320F28388D:最初来自 enet_lwip 示例项目的 http Web 服务器数据在哪里?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/963382/ccs-tms320f28388d-where-is-the-http-web-server-data-originally-from-in-the-enet_lwip-example-project

器件型号:TMS320F28388D

工具/软件:Code Composer Studio

尊敬的先生或女士:

我已使 enet_lwip 示例工程正常运行、如 PC 的以下屏幕截图所示。

但数据"101"来自哪里、我想它来自 httpd_init()函数、如下所示:

httpd_init (void)

struct altcp_pcb *pcb;

#if HTTPD_USE_MEM_POOL
LWIP_MEMOOL_INIT (HTTPD_STATE);
#if LWIP_HTTPD_SSI
LWIP_MEMOOL_INIT (HTTPD_SSI_STATE);
#endif
#endif
LWIP_DEBUGF (HTTPD_DEBUG、("httpd_init\n"));

/* LWIP_assert_core_locked();由 tcp_new()*/检查

PCB = altcp_tcp_new_ip_type (IPADDR_TYPE_ANY);
LWIP_assert ("httpd_init:tcp_new failed"、PCB!= NULL);
https://init_PCB (PCB、HTTPD_SERVER_PORT);

我想通过这个示例项目在 PC 和 F28388之间实现数据传输和接收。

我想应该有一个 txBuffer 或 rxBuffer 函数来发送或接收数据。

但我在 httpd_init()函数中找不到任何线索。

请提供一些线索吗?

非常感谢!

周平  

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

    Ping 您好、

    要获得自定义的 html Web 服务器页面,您必须更新 fsdata.c 有关详细信息,请访问以下 e2e https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/952362 。

    谢谢、

    Yashwant  

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

    尊敬的 Yashwant:

    实际上、我对 Perl 非常陌生。 是否可以从头开始更新 fsdata.c 文件?

    我的问题是 fsdata.c 文件如何与  httpd_init()函数连接?

    我真的找不到函数调用关系。

    实际上、我已经按如下方式安装了草莓 Perl、

    这是专为 MSWin32-x64-multi-thread 构建的 perl 5版本32 Subversion 0 (v5.32.0)

    是否有关于如何更新 fsdata.c 文件的说明?

    非常感谢!

    周平

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

    您好!

    Perl 是一个用于将 Web 服务器页面转换 为 C 数组的工具。 您只需将其用作黑盒即可。

    更新 fsdata.c 的说明:

    1.设计您自己的 Web 服务器页面并将其存储在{LWIP_DIR}/src/apps/http/fs.下的文件夹中  

    2.当脚本使用 UNIX 系统命令(如 find)时,CP 打开一个 UNIX shell (如 git bash ternminal 或 MinGW)(如果您在 Windows 上)。 转至 lwip2.1.2\src\apps\http\fs 目录。 运行./makefsdata fs 以处理子目录 fs 中的文件。  

    3.将在同一目录中生成"fssdata.c"文件的程序、该目录中转换并存储了所有文件作为 C 数组。
    4.将此文件  的内容"fssdata.c"复制 到{LWIP_DIR}/src/apps/http/fsdata.c 文件中。 此文件包含在此 enet_lwip 项目中、因此网络服务器将 在设备中更新、查询网络中的设备 IP 地址将显示更新的网页。

    关于 fsdata.c 文件如何与项目连接:

    除了 enet_lwip.c、lwip 项目中链接的文件很少。 您可以在其中找到 fs.c 文件、该文件包含一行"#include HTTPD_FSDATA_file"如果您单击  HTTPD_FSDATA_FILE 的宏定义、则可以看到它是 fssdata.c

    点击红色框时不断更新的变量是同一文件 fs.c 中的"unsigned int httpHit "、该文件从元素 ID 为"/param"的 Web 服务器页面读取。   

    include 链接: #include "lwip/apps/httpd.h"-> #include "lwip/apps/fs.h"(在 httpd.c 中)-> #include HTTPD_FSDATA_FILE (在 fs.c 中)

    谢谢、

    Yashwant

     

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

    有关 lwIP 的更多详细信息、请参阅 lwIP 网页、网址为:
    savannah.nongnu.org/.../