CubeMX 6.10配置LAN8720A实现LWIP网络通信配置详解

文章目录

  • 前言
  • 一、使用步骤
  • 总结

  • 前言


    一、使用步骤

    首先,选中ETH, 设置Mode 为RMII

    在ETH设置界面找不到PHY的设置界面, 这里是和之前版本的区别

    我们需要到Middleware and software packs下, 选中LWIP, 勾选Enabled

    platform settings 下,选中L8742


    修改PHY Address需要到生成的源码里面进行修改

    找到函数LAN8742_Init(lan8742_Object_t *pObj)
    添加

        pObj->DevAddr = 0x00; //PHY Address 改为0x00或者0x01
    

    注释掉图片中的printf,可以不用勾选微库

    这里还有一个关键的地方,就是LAN8720A,需要有一个ETH_RESET,用来给网口使能,PD3引脚


    做好了这些,可以生成代码,进入代码的调试了。
    来到代码的部分。首先就是使能前面配置的PD3引脚

    void LAN8720_RESET(void)
    {
    //    HAL_GPIO_WritePin(ETH_PHYAD0_GPIO_Port, ETH_PHYAD0_Pin, GPIO_PIN_RESET);
        HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);
        HAL_Delay(55);
        HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);
        HAL_Delay(55);
    }
    

    添加这个函数,然后main.c里面如下图所示

    这样就可以完成ping通了

    总结

    作者:yu1741588584

    物联沃分享整理
    物联沃-IOTWORD物联网 » CubeMX 6.10配置LAN8720A实现LWIP网络通信配置详解

    发表回复