STM32移植LWIP官方demo

发布者:SereneDreams最新更新时间:2020-12-23 来源: eefocus关键字:STM32  移植LWIP 手机看文章 扫描二维码
随时随地手机看文章

本文使用的IDE是IAR7.2,考虑到很多很使用Keil,本文也有keil版本的说明

1、硬件说明

  • 主控:STM32F207VCT6,100管脚的封装

  • 网络PHY芯片:RTL8201EL,48管脚封装,34和35管脚下拉,也就是芯片地址:0

  • 使用的网络接口:MII接口

2、移植步骤

2.1、修改IAR配置文件

修改芯片设置(其实不用修改)

硬件使用的是SWD模式

2.2、修改网络PHY地址

在stm32f2x7_eth_bsp.h文件中

2.3、修改硬件IO

在stm32f2x7_eth_bsp.c中

2.4、屏蔽无用的东西和修改IP

在main.h中

修改IP地址(以读者本机IP地址为准)

2.5、屏蔽其他代码

在stm32f2x7_eth_bsp.c中

屏蔽这一项是因为这是跟芯片相关的,该函数功能:配置物理层产生一个中断的链路状态变化

demo使用的是DP83848,我们的硬件使用的是RTL8201

该函数定义

该函数操作的是DP83848的17寄存器,关于PHY的寄存器,会有专门的一个博客讲解。

3、效果显示

3.1、电脑能ping通

3.2、客户端能够连接收发数据

4、Keil工程的修改

4.1、修改配置文件

 

修改芯片类型

 

修改调试工具

 

完成修改

5、移植TCP客户机代码

连接服务器,demo的代码在中断函数中

移植完毕,为了方便,把所有函数移植带main.c中

分别拷贝  tcp_echoclient_connect()、tcp_echoclient_connected()、tcp_echoclient_recv()、tcp_echoclient_connection_close()、tcp_echoclient_send()函数复制过来。

还有变量也要复制过来

 

复制到main.c中

为防止和tcpsever代码变量冲突,把tcp_echoserver.c所有代码全部屏蔽掉,后者将其从工程目录中删除

原来文件中的头文件也复制过来

把原来main.h的IP信息复制过来

把tcp_echoclient_connected函数中一下屏蔽

编译出错

有些函数调用的错误

方法1:调整函数位置

方法2:添加函数说明

修改IP(以实际IP为为主)

测试:

ping测试:

客户端测试,有新的客户端上线

为将接收到的数据返回PC,我们在tcp_echoclient_recv函数中加入以下代码

 

收到的数据成功返回


关键字:STM32  移植LWIP 引用地址:STM32移植LWIP官方demo

上一篇:STM32网络ETH
下一篇:链表在STM32中的应用

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved