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

    xiaoxiao2022-07-12  153

    文章目录

    代码上传图片上传csdn出现转存失败不显示,所有图片在下方,可以对比自己找一下吧,排序比较麻烦,反正直接看源码更加直接 LWIP教程1——Cubemx 配置无操作系统下的LWIP初始化1. 环境1.1 软件环境:1.2 硬件环境 2. cubemx配置主要内容2.1 RCC配置2.2 SYS配置2.3 USART1配置2.4 ETH配置2.5 LWIP配置LWIP使能LWIP参数配置 2.6 时钟配置 3. 代码完善3.1 添加对PHY硬件复位的代码3.2 主函数添加LWIP线程函数 4. 实验效果4.1 路由器端查看4.2 ping开发板

    代码上传图片上传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配置

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

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

    PHY芯片的配置需要注意以下几项: 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。 高级参数配置的最后三项参数设置需要根据芯片手册来设定 参数PHY special control/status register Offset,根据芯片手册看到是十进制31。参数PHY Speed mask,根据芯片手册看到是[bit3:bit2]表示速度掩码。参数PHY Duplex mask,根据芯片手册看到是[bit4]表示工作方式是全双工还是半双工掩码。

    2.5 LWIP配置

    LWIP使能

    LWIP参数配置

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

    2.6 时钟配置

    3. 代码完善

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

    3.2 主函数添加LWIP线程函数

    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通

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

    代码上传

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

    最新回复(0)