我正在使用 STM32F405 制作 WebServer,以太网芯片是 Wiznet 的 W5500。
Wiznet 提供了一个 HTTP WebServer 演示。但是,他们使用 sd 卡来加载网页内容。
我发现 Arduino WebServer 可以在不使用 SD 卡的情况下加载 Web 内容,它只需要在草图中添加一些 Arduino 代码。
所以问题是我的设备如何在没有 SD 卡的情况下加载网页内容。
我正在使用 IAR 顺便说一句。
我正在使用 STM32F405 制作 WebServer,以太网芯片是 Wiznet 的 W5500。
Wiznet 提供了一个 HTTP WebServer 演示。但是,他们使用 sd 卡来加载网页内容。
我发现 Arduino WebServer 可以在不使用 SD 卡的情况下加载 Web 内容,它只需要在草图中添加一些 Arduino 代码。
所以问题是我的设备如何在没有 SD 卡的情况下加载网页内容。
我正在使用 IAR 顺便说一句。
尽管您的问题在细节上有点低,但我猜您想在不访问文件系统的情况下从 C 代码内部提供页面。
我建议你看看Bitty HTTP(无耻插件)。我认为它接近你正在寻找的东西。它直接从 C 代码(无文件系统)提供页面,可以使用非标准套接字,并且不需要线程(不需要操作系统)。
我查看了 W5500 并没有使用 Berkeley 插座(尽管您也许可以添加它),因此您需要有一些可以在没有它们的情况下工作的东西。不幸的是,您需要将套接字写入 W5500 SPI 命令部分才能使其工作。
您还可以查看其他嵌入式 Web 服务器。 libmicrohttpd(它自己是一个嵌入式 Web 服务器)有一个公平的其他嵌入式 Web 服务器列表。我认为您不会在那里找到任何适合您需求的东西,但值得一试。
您的问题没有提供足够的信息,但据我所知,您正在尝试使用 POST & GET 请求从 HTTP Server 获取数据。
使用 SD 卡是有原因的,因为网络足够大,可以加载到控制器/处理器内存中。在 arduino 的情况下,您可能会看到一个示例,他们从本地服务器加载数据并且数据内容小到足以在 SRAM 中加载和存储内容。
如果要加载网页内容,其大小必须小于 SRAM 的大小,否则会产生内存溢出中断。最好的方法是使用 SD 卡和一些外部存储芯片。