LWIP学习之stm32f107使用流程架构
一 STM32F107的网络接口配置:#include "stm32_eth.h"
1.1 打开网口时钟,响应IO配置、NVIC中断;通过调用Ethernet_Configuration()配置是MII/RMII模式、PHY所需的时钟25M/50MHZ如何产生(PLL3的MCO/外部晶体)、配置ETH外设的寄存器,开启网口接受中断LwIP_Pkt_Handle-》ethernetif_input-》low_level_input &&netif->input给LWIP处理-》ETH_RxPkt_ChainMode
1.2 LWIP_Init(初始化内存堆栈、LWIP核、MAC地址、IP/掩码/网关、添加网卡并开启网卡)后轮训lwip_periodic_handle:时间状态机分别处理TCP /ARP/DHCP/DHCP粗糙处理。
1.3LWIP核初始化:根据LWIPopt.h中的配置初始化相关协议模块、堆栈、根据是否使用操作系统决定调度LWIP进程的方式。
二 相关资料:
STSW-STM32026
STM32F107xx的LwIP TCP/IP栈演示(AN3102)
基于LwIP TCP/IP栈和FreeRTOS进行STM32F2x7微控制器的LwIP TCP/IP栈演示(AN3384)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?