STM32+RTThread配置以太网无法ping通,无法获取动态ip的问题

记录一个非常蠢的问题,今天在移植rtthread的以太网驱动的时候出现无法获取动态ip的问题,问题如下:
STM32+RTThread配置以太网无法ping通,无法获取动态ip的问题_第1张图片
设置为动态ip时不管是连接路由器还是电脑主机都无法ping通,也无法获取dns地址。
设置为静态ip时无法ping通主机。
使用wireshark抓包,源码debug以及各种方法尝试半天后依然没有发现问题,最后在rtthread社区找到了和我一样的问题:lwip获取不到ip地址 INTERNET_DOWN。
原来是配置以太网的引脚出错了,cubemx中这三个引脚的默认引脚为PB11、PB12、PB13,刚开始在配置的时候还对照着看了看,看着前几个引脚没问题,后边这些引脚也就没对看,导致排查了一天的错误,甚至一度怀疑rtt源码,哈哈。
主要是没想到引脚配错网络相关的配置还能正常初始化
在这里插入图片描述

最后配置好以后效果如下:

  • 静态ip能够ping通主机:STM32+RTThread配置以太网无法ping通,无法获取动态ip的问题_第2张图片
  • 动态ip
    能够ping通外网 STM32+RTThread配置以太网无法ping通,无法获取动态ip的问题_第3张图片

你可能感兴趣的:(stm32,tcp/ip,嵌入式硬件)