我是靠谱客的博主 危机导师,最近开发中收集的这篇文章主要介绍【一、stm32cube使用LWIP测试注意事项及配置备忘(FreeRTOS)】LAN8720A,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

必须先知道,cube配置lwip是个极其简单的事情,想复杂往往就真复杂了。
这里我的环境是(看着多,其实就是几个勾)

  • cubeV6.3
  • LWIPv2.1.2`
    • 默认开启DHCP,只插网线就好,本地ip和子网掩码这些不需要配置
  • stm32f407ZGTx
  • FreeRTOSv10.3.1
  • CMSIS-RTOSv1.0.2

ETH外设配置

  • PHY配置[必须正确]
  • PHY地址配置[必须正确]
  • MAC配置[可选]
  • GPIO配置[必须正确,检查RMII接口引脚是否和自己的一样,不一样要改过来]

在这里插入图片描述
直接选8742A这个,真方便啊。。。
在这里插入图片描述
RMII接口引脚会自动生成,但未必和我们实际使用的电路图引脚相同,不对的要改过来。另外一个复位引脚根据自己的IO配置成普通输出就好
在这里插入图片描述
在这里插入图片描述

*PHY复位代码添加

位置:main()->MX_FREERTOS_Init()->osThreadDef():创建的缺省任务StartDefaultTask()->MX_LWIP_Init()->netif_add()的形参函数: ethernetif_init(),这里也可以配置HOSTNAME->low_level_init()这里可以看到上面的MAC配置->HAL_ETH_Init()->HAL_ETH_MspInit()重于找到了,不想一层层往下找直接搜索HAL_ETH_MspInit就好了
然后添加三行代码,把复位引脚拉低50ms再置高就完成了
(注:代码块放置在用户代码区,这样下次cube生成后我们添加的代码还在)
在这里插入图片描述

LWIP配置

甚至不需要别的配置了。。
这时候插上网线应该就能在路由器的客户端里面看到连接了,只是主机名是个*号, 也可以看到开发板IP,主机ping开发板IP也可以ping

HOSTNAME配置

在这里插入图片描述
这样默认会生成一个"lwip"的主机名,连接路由器可以看到
如果需要修改,
位置:main()->MX_FREERTOS_Init()->osThreadDef():创建的缺省任务StartDefaultTask()->MX_LWIP_Init()->netif_add()的形参函数: ethernetif_init()
改成需要的就好了
在这里插入图片描述

其他一些默认配置情况

  • RAW API 默认未开启
    在这里插入图片描述

  • NETCONN API 默认已开启
    在这里插入图片描述

  • Socket API 默认已开启
    在这里插入图片描述

另外注意:

  • 测试收发时特别注意自己电脑的防火墙,可以先用局域网内其他电脑ping自己的电脑看看,ping不通先关闭自己的防火墙,电脑之间相互ping的通再测试开发板(我就是那个没关防火墙调试的人才。。)

最后

以上就是危机导师为你收集整理的【一、stm32cube使用LWIP测试注意事项及配置备忘(FreeRTOS)】LAN8720A的全部内容,希望文章能够帮你解决【一、stm32cube使用LWIP测试注意事项及配置备忘(FreeRTOS)】LAN8720A所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部