STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能

1. STM32CubeMx的功能配置

LWIP使用的以太网芯片是 LAN8720,使用STM32CubeMX6.10来配置工程。配置完的工程能通过电脑来ping通LWIP设置的静态IP地址的单片机开发板。后面涉及TCP客户端和UDP的通信开发。

1.1 选择芯片 STM32F407ZET6,基础配置3件套: RCC、SYS和系统时钟

RCC
SYS
CLOCK

1.2 配置ETH:

  • 为什么选择RMII:
    在以太网通信中,RMII(Reduced Media-Independent Interface)是一种用于连接以太网物理层(PHY)和媒体访问控制层(MAC)的接口标准。相比于传统的 MII(Media-Independent Interface),RMII使用更少的引脚,简化了硬件设计。具体来说:
    • MII 需要16条信号线来传输数据、控制信号和时钟。
    • RMII 则减少到10条信号线,且运行速度加倍,使得时钟频率从25 MHz提高到50 MHz。当你设置以太网的Mode为RMII时,意味着:
      1. 引脚数减少:硬件设计上减少了引脚的数量,简化了电路布局。
      2. 数据速率保持不变:尽管引脚减少,数据速率依然可以保持为10/100 Mbps,只不过数据是以双倍速率(50 MHz)传输的。
      3. 时钟共享:RMII模式允许多个PHY共享同一个时钟源,这对简化时钟树设计非常有利。
    • 一般在单片机或FPGA中,用户可以选择MII或RMII模式,这取决于硬件资源和设计需求。如果你的项目硬件上支持RMII,那么使用RMII模式可以简化设计。
      ETH配置
      原理图配置的引脚
      ETH REST引脚配置
  • 以下这些参数没有更改
    在这里插入图片描述
    在这里插入图片描述

1.3 配置 FreeRTOS 和 LWIP

  • FreeRTOS
    在这里插入图片描述
  • LWIP
    在这里插入图片描述

1.4 串口输出配置

  • UART4
    在这里插入图片描述

1.5 工程配勾选,生成代码

在这里插入图片描述

2. 代码修改:增加PHY芯片初始化复位功能:

在这里插入图片描述

3. 电脑ping测试

此时电脑上能够ping通CubeMX中配置的192.168.137.51的地址

在这里插入图片描述

4. TCP和UDP的通信测试

  • 待调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值