单片机
返回首页

基于rt-thread studio实现lwip协议

2025-03-31 来源:jianshu

lwip协议是广泛用于嵌入式设备的网络通信协议,通过rt-thread studio(简称rts)可方便快速的实现网络收发功能

硬件:stm32f407zgt6核心板,lan8720a(rmii接口)模块(淘宝很多)

软件:rts,cubemax

调试方式:st-link swd接口

实现目标:实现上位机与单片机的互ping成功,注意,本文需要一定硬件和软件动手能力,没有基础的同学可以先学习一下基础的知识,本文中部分基础操作的内容不详细说明。

实现步骤:

一、硬件连接:使用杜邦线进行引脚连接,具体引脚对于关系可打开cubmax的rmii接口进行查询,图2是stm32f407zgt6的引脚对于关系,使用杜邦线进行连接即可。


图1:硬件连接示意

图2:引脚对应关系,可在cubemax中打开rmii接口的界面查询

二、使用rts创建基于芯片的工程,版本选择rtt标准版,通信串口选择uart6(PC6,PC7),当然也可以自定义,下载选择st-link,swd接口,您可以根据自己的现有硬件设备进行选择。

图3:创建工程

图4:编译并下载,打开调试串口循环输出此内容表示工程创建成功

三、打开ETH功能:通过rts打开cubemax,并进行以下操作,

        1、选择左侧Conectivity下的ETH,选择Mode为RMII

图5:打开RMII接口

        2、重新设置时钟树,本文使用默认内部时钟进行测试,不修改时钟树,点击重置时钟配置(reset clock configuration)即可


图6:重置时钟

        3、点击generate code 生成项目代码,然后关闭cubemax,使修改信息同步至rts,出现以下内容,说明同步成功。可点击编译若编译通过则说明操作无误。


图7:cubemax配置硬件rmii成功

四:打开rts网络功能和lwip功能

        1、打开Rt-thread Settings 选择  选择组件中的lwip使之变为彩色(图8)

图8:打开lwip

        2、点击配置项,进行配置lwip,图9中四个标红开关打开即可,若是电脑直连模式,请关闭DCHP选项并配置静态IP。


图9:配置LWIP

        3、使能ETH功能,打开board.h文件,打开ETH功能,编译并下载,会出现图11的错误,缺少phy_reset函数。


图10:使能ETH功能


图11:报错缺少phy_reset函数

        4、点击错误行跳转至错误文件drv_eth.c,在顶部新增以下代码,具体代码因芯片不同,可在rts安装路径下的'repoExtractRT-Thread_Source_CodeRT-Threadlts-v3.1.5bspstm32'文件夹中对应芯片下搜索phy_reset.c文件查看

#define RESET_IO GET_PIN(D, 3)

void phy_reset(void){

        rt_pin_write(RESET_IO, PIN_LOW);

        rt_thread_mdelay(50);

        rt_pin_write(RESET_IO, PIN_HIGH);

}

五:完成以上步骤后编译工程,显示编译通过,下载至芯片后打开串口 显示图12则说明程序运行正常。msh输入list_device明显可以看到e0硬件已开启(图13),输入ifconfig可显示网卡的静态IP信息(图14)


图12:lwip协议启动成功

图13:以太网硬件已加载


图14:以太网静态IP配置成功

六,测试:上位机电脑配置网络与单片机在同一网段 互ping结果如下,说明工程网络模块运行正常,撰文不易,点个赞吧O(∩_∩)O


图15:单片机ping上位机电脑成功


图16:上位机电脑ping单片机成功



进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外遥控音量控制

  • LM317过压保护

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章