LWIP教程1——Cubemx 配置无操作系统下的LWIP初始化

代码上传图片上传csdn出现转存失败不显示,所有图片在下方,可以对比自己找一下吧,排序比较麻烦,反正直接看源码更加直接

LWIP教程1——Cubemx 配置无操作系统下的LWIP初始化

1. 环境

1.1 软件环境:

  • packages版本(STM32F4 1.21)
  • cubemx版本(version4.27.0 && STM32Cube v1.0)
  • MDK版本(KEIL5 V5.23.0.0)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.2 硬件环境

  • 正点原子探索者开发板(STM32F407ZGT6)
  • 网络接口原理图部分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:LAN8720A 可以通过 PHYAD0 引脚来配置,该引脚与 RXER 引脚复用,芯片内部自带下拉电阻,当硬复位结束后, LAN8720A 会读取该引脚电平,作为器件的 SMI 地址,接下拉电阻时(浮空也可以,因为芯片内部自带了下拉电阻),设置 SMI 地址为 0,当外接上拉电阻后,可以设置为 1。本硬件RXER引脚浮空,其PHY芯片地址为0。

2. cubemx配置主要内容

2.1 RCC配置

在这里插入图片描述

2.2 SYS配置

在这里插入图片描述

2.3 USART1配置

在这里插入图片描述

2.4 ETH配置

ETH配置

ETH配置

ETH配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLaPBljp-1594628568210)(https://github.com/sangeren1002/Notes/blob/master/cubemx/image/LWIP/cubemx_lwip_eth_config_3.png?raw=true)]

ETH参数设置需要根据芯片手册来确定部分数据

ETH参数
ETH参数

  • PHY芯片的配置需要注意以下几项:
  1. ETH配置中的高级参数配置
  • PHY参数user PHY,CUBEMX默认选择的是LAN8742A_PHY_ADDRESS
  • PHY参数PHY Address Value,设置为0,这个值需要根据硬件连接来确定(LAN8720A 可以通过 PHYAD0 引脚来配置,该引脚与 RXER 引脚复用,芯片内部自带下拉电阻,当硬复位结束后, LAN8720A 会读取该引脚电平,作为器件的 SMI 地址,接下拉电阻时(浮空也可以,因为芯片内部自带了下拉电阻),设置 SMI 地址为 0,当外接上拉电阻后,可以设置为 1。本硬件RXER引脚浮空,其PHY芯片地址为0)。
  • PHY参数PHY name,是一个标识符,可以随便设置,我这里设置的是LAN8720A
  1. 高级参数配置的最后三项参数设置需要根据芯片手册来设定
  • 参数PHY special control/status register Offset,根据芯片手册看到是十进制31。
  • 参数PHY Speed mask,根据芯片手册看到是[bit3:bit2]表示速度掩码。
  • 参数PHY Duplex mask,根据芯片手册看到是[bit4]表示工作方式是全双工还是半双工掩码。

2.5 LWIP配置

LWIP使能

LWIP使能

LWIP参数配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uEIcqXx-1594628568215)(https://github.com/sangeren1002/Notes/blob/master/cubemx/image/LWIP/cubemx_lwip_lwip_config_1.png?raw=true)]

LWIP配置

2.6 时钟配置

时钟配置

3. 代码完善

3.1 添加对PHY硬件复位的代码

PHY硬件复位的代码

3.2 主函数添加LWIP线程函数

PHY硬件复位的代码

4. 实验效果

4.1 路由器端查看

是否存在已经在工程中设置ip地址为192.168.0.100,MAC地址为00:80:E1:00:00:00的设备。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22nm4Xpl-1594628568219)(https://github.com/sangeren1002/Notes/blob/master/cubemx/image/LWIP/cubemx_lwip_tplink.png?raw=true)]
可以看到IP地址和MAC地址符合我们代码中设置的。

4.2 ping开发板

ping设置的IP地址192.168.0.100看能否ping通

ping

可以看到IP地址可以ping通,延时不超过1ms。

图片上传csdn出现转存失败不显示,所有图片在下方,可以对比自己找一下吧,排序比较麻烦,反正直接看源码更加直接
请添加图片描述
请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述请添加图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值