嵌入式
返回首页

得捷电子Follow me第4期项目总结:W5500-EVB-Pico与lwip网络应用开发

2026-04-14 来源:EEWorld 论坛

得捷电子Follow me第4期项目总结

很高兴能参加得捷电子Follow me第4期活动,在官方的C SDK上进行开发,借此机会深入学习lwip和网络应用层的TCP、UDP、NTP应用,加深对以太网开发的认识。

项目概述

本次活动基于W5500-EVB-Pico和Nucleo-H743开发板,完成了系列任务,包括静态IP配置、Ping测试、TCP echo服务器、NTP时间同步以及FTP文件服务器等。通过这些任务,实践了lwip在无RTOS下的RAW API和在FreeRTOS下的NETCONN API两种开发方式。

基础与进阶任务

基础任务和进阶任务集成在一份代码中,实现了以下功能:

  • 点灯和2.8寸屏幕显示
  • 网络互ping测试,延迟低于10ms
  • 外网ping通测试
  • TCP Server/Client数据收发
  • 通过DNS解析NTP服务器IP,每15秒同步时间
  • 屏幕显示TCP接收数据和NTP时间

W5500-EVB-Pico使用lwip的RAW API在裸机环境运行,而Nucleo-H743使用NETCONN API在FreeRTOS上运行,同步学习两种API。

代码片段

由于代码量较大,仅展示核心部分:

// Pico端主函数部分代码
int main()
{
    // 初始化网络配置、lwip等
    // 设置MAC地址、IP地址
    // 启动TCP echo服务器和NTP客户端
    // 循环处理网络包和超时
}
// STM32端网络配置部分
static void Netif_Config(void)
{
    // 设置IP、掩码、网关
    // 添加网络接口
    // 启动DHCP(如果启用)
    // 初始化TCP echo和NTP
}

终极任务:FTP文件服务器

使用SD卡作为外部存储搭建FTP服务器。在没有DMA时,传输速度约500KB/s;启用DMA后,速度提升至700KB/s。分析指出,Pico的133MHz主频和SPI速度限制是瓶颈,但通过优化仍达到不错的效果。

总结

通过本次活动,深入学习了lwip协议栈和以太网开发,掌握了TCP、UDP、NTP等应用层协议的实现。对比了RAW API和NETCONN API的使用场景,提升了嵌入式网络编程能力。

更多详细内容,包括完整代码、视频演示和抓包分析,请阅读原帖子

原帖子内容来源:https://bbs.eeworld.com.cn/thread-1272504-1-1.html



进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • PCM2707 USB音频数模转换芯片声卡

  • TDA2050立体声音频功率放大器

  • 基于LM317和TIP42的40V 2A电源

  • 序列式刹车/转向灯

  • 使用 PMIC 延长便携式应用中的电池寿命

  • 智能工厂的智能电源设计

    相关电子头条文章