打印
[STM32F4]

STM32F407+TCPIP网络组件Lwip之Ping例程

[复制链接]
2271|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mintspring|  楼主 | 2016-3-24 17:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实验目的
 需要了解 PC 和网络之间的连接状态时, Ping 是最常用的方法。想了解
PC 和 RealTouch 开发板之间的网络连接状态如何,使用 Ping 同样可
以。当 PC 和 RealTouch 之间通过网线连接, 并且 RealTouch 开发
板上的 Lwip 协议栈运行起来后,如果在 PC 端能够 Ping 通
RealTouch 所对应的 IP 地址时,说明此时 PC 和 RealTouch 开发板
的 TCP/IP 网络连接已经建立, 并且可以进行网络通信。
硬件说明
本实验使用 RT-Thread 官方的 Realtouch 开发板作为实验平台。涉及
到的硬件主要为
 RJ45 接口,作为网络连接的需要,需要用网线将 Realtouch 和目标机连
进行连接。
 实验原理及程序结构
实验设计
本实验的主要设计目的是帮助读者了解 lwip 的基本 ping 操作,主要
涉及相关编译设置。请读者注意,本实验本身不具有实际的工程参考价值,
只是帮助读者快速了解相关 API 的用法。
源程序说明
系 统 依 赖
在 rtconfig.h 中需要开启
 #define RT_USING_LWIP
此项必须,本实验使用 LWIP 组件,因此需要开启此项

————————————————————————————
[size=14.6666669845581px]……
[size=14.6666669845581px]请看附件。PDF,和源码都有。
STM32F407 TCPIP网络组件Lwip之Ping例程.rar (1.7 MB)



沙发
zhuotuzi| | 2016-3-24 17:21 | 只看该作者
实验原理及程序结构
file:///C:/Users/mint/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
实验设计
本实验的主要设计目的是帮助读者了解lwip的基本ping操作,主要涉及相关编译设置。请读者注意,本实验本身不具有实际的工程参考价值,只是帮助读者快速了解相关API的用法。
源程序说明
           系统依赖
在rtconfig.h中需要开启
q #define RT_USING_LWIP
此项必须,本实验使用LWIP组件,因此需要开启此项主程序说明
首先我们看看rtconfig.h中的一些设置,我们将lwip相关的宏默认全部打开。
LWIP相关宏
/* SECTION: lwip, a lighwight TCP/IP protocol stack */
file:///C:/Users/mint/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif
#defineRT_USING_LWIP
/*LwIP uses RT-Thread Memory Management */
#defineRT_LWIP_USING_RT_MEM
/*Enable ICMP protocol*/
#defineRT_LWIP_ICMP
/*Enable UDP protocol*/
#defineRT_LWIP_UDP
/*Enable TCP protocol*/
#defineRT_LWIP_TCP
/*Enable DNS */
#defineRT_LWIP_DNS

TCP/IP相关设置  

/*the number of simulatenously active TCP connections*/
#defineRT_LWIP_TCP_PCB_NUM 5

/* ipaddress of target*/
#defineRT_LWIP_IPADDR0 192
#defineRT_LWIP_IPADDR1 168
#defineRT_LWIP_IPADDR2 1
#defineRT_LWIP_IPADDR3 30

/* gatewayaddress of target*/
#defineRT_LWIP_GWADDR0 192
#defineRT_LWIP_GWADDR1 168
#defineRT_LWIP_GWADDR2 1
#defineRT_LWIP_GWADDR3 1

/* maskaddress of target*/
#defineRT_LWIP_MSKADDR0 255
#defineRT_LWIP_MSKADDR1 255
#defineRT_LWIP_MSKADDR2 255
#defineRT_LWIP_MSKADDR3 0 在此配置 RealTouch 的 IP 地址,网关和掩码,此处 IP 地址设置为 192.169.1.30;网关地址为 192.168.1.1;掩码地址为 255.255.255.0. 读者可修改该配置来设置 RealTouch 的 IP 地址;在application.c中,建立了一个初始化线程,来注册以太网设备,
并初始化lwip系统,这些都包含在了rt_component_init()中。


使用特权

评论回复
板凳
mintspring|  楼主 | 2016-3-27 20:41 | 只看该作者
在Keil软件里,目前都开始提供这个LWIP的开发包了,应该是用户挺多的一共IP框架。

使用特权

评论回复
地板
jinggx| | 2016-3-29 00:01 | 只看该作者
支持一下,我一直挺喜欢这个系统的

使用特权

评论回复
5
mintspring|  楼主 | 2016-4-4 20:51 | 只看该作者
    【1】移植和应用LwIP一定要耐心细致。
    【2】一旦网卡接收到数据,应调用ethernetif_input函数,调用该函数让数据进入LwIP协议栈。
    【3】 netif_add(&enc28j60, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &ethernet_input);最后一个参数为ethernet_input,千万必要写成ethernetif_input。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

4813

帖子

24

粉丝