STM32移植LWIP官方demo

STM32移植LWIP官方demo

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

欢迎查看本文所在的系列,STM32的LWIP应用,点击跳转

1、硬件说明

  • 主控:STM32F207VCT6,100管脚的封装
  • 网络PHY芯片:RTL8201EL,48管脚封装,34和35管脚下拉,也就是芯片地址:0
  • 使用的网络接口:MII接口

2、移植步骤

2.1、修改IAR配置文件

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

STM32移植LWIP官方demo_第1张图片

硬件使用的是SWD模式

STM32移植LWIP官方demo_第2张图片

2.2、修改网络PHY地址

在stm32f2x7_eth_bsp.h文件中

STM32移植LWIP官方demo_第3张图片

2.3、修改硬件IO

在stm32f2x7_eth_bsp.c中

STM32移植LWIP官方demo_第4张图片

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

在main.h中


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

STM32移植LWIP官方demo_第5张图片

2.5、屏蔽其他代码

在stm32f2x7_eth_bsp.c中


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

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

该函数定义

STM32移植LWIP官方demo_第6张图片

STM32移植LWIP官方demo_第7张图片

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

3、效果显示

3.1、电脑能ping通

STM32移植LWIP官方demo_第8张图片

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

STM32移植LWIP官方demo_第9张图片

4、Keil工程的修改

4.1、修改配置文件

修改芯片类型

STM32移植LWIP官方demo_第10张图片

修改调试工具

STM32移植LWIP官方demo_第11张图片

STM32移植LWIP官方demo_第12张图片

STM32移植LWIP官方demo_第13张图片

完成修改

5、移植TCP客户机代码

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

STM32移植LWIP官方demo_第14张图片

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

STM32移植LWIP官方demo_第15张图片

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

还有变量也要复制过来

STM32移植LWIP官方demo_第16张图片

复制到mainSTM32移植LWIP官方demo_第17张图片.c中

STM32移植LWIP官方demo_第18张图片

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

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

STM32移植LWIP官方demo_第19张图片

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

STM32移植LWIP官方demo_第20张图片

把tcp_echoclient_connected函数中一下屏蔽

STM32移植LWIP官方demo_第21张图片

编译出错

有些函数调用的错误

方法1:调整函数位置

方法2:添加函数说明


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

STM32移植LWIP官方demo_第22张图片

测试:

ping测试:

STM32移植LWIP官方demo_第23张图片

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

STM32移植LWIP官方demo_第24张图片

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

STM32移植LWIP官方demo_第25张图片

收到的数据成功返回

STM32移植LWIP官方demo_第26张图片


如果看文字版太枯燥,可以点击看视频版:点击跳转


百度云盘和谐比较严重,链接可能失效

链接:https://pan.baidu.com/s/1YedsLPy5DK9zDDOZ8uUQuQ 密码:ff61

如果链接失效,请关注微信公众号,点击博客附件,找到第11个资源,免费下载。

                                                      STM32移植LWIP官方demo_第27张图片    

你可能感兴趣的:(网络LWIP,STM32移植lwip)