你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3159|回复: 10

[STM32F769-DISC] 【F769IDISCOVERY评测】LwIP Echo 及数据传输测试

[复制链接]

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2017-7-16 20:31:37 | 显示全部楼层 |阅读模式
相关推荐【F769IDISCOVERY评测】LwIP Echo 及数据传输测试


    在移植好LwIP之后的时候如果可以进行最简单的测试来验证移植的程序是否跑起来的方法是Ping/Echo/Tx_Rx,下面我们就看下几个基本的简单的测试。

1、移植部分


    在初始化的设置我们还是设置静态的IP地址,服务器IP和端口,进行ecoh测试一般使用端口7.下面的初始化设置了客户端和服务器的IP和端口以及各种初始化函数和回调函数。

  1. static void Netif_Config(void)
  2. {
  3.     ip_addr_t ipaddr;
  4.     ip_addr_t netmask;
  5.     ip_addr_t gw;
  6. #ifdef USE_DHCP
  7.     ip_addr_set_zero_ip4(&ipaddr);
  8.     ip_addr_set_zero_ip4(&netmask);
  9.     ip_addr_set_zero_ip4(&gw);
  10. #else
  11.     IP_ADDR4(&ipaddr, IP_ADDR0, IP_ADDR1, IP_ADDR2, IP_ADDR3);
  12.     IP_ADDR4(&netmask, NETMASK_ADDR0, NETMASK_ADDR1, NETMASK_ADDR2, NETMASK_ADDR3);
  13.     IP_ADDR4(&gw, GW_ADDR0, GW_ADDR1, GW_ADDR2, GW_ADDR3);
  14. #endif /* USE_DHCP */
  15.     /* add the network interface */
  16.     netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, ðernet_input);
  17.     /* Registers the default network interface */
  18.     netif_set_default(&gnetif);

  19.     if(netif_is_link_up(&gnetif))
  20.     {
  21.         /* When the netif is fully configured this function must be called */
  22.         netif_set_up(&gnetif);
  23.     }
  24.     else
  25.     {
  26.         /* When the netif link is down this function must be called */
  27.         netif_set_down(&gnetif);
  28.     }
  29. }
复制代码
  进行初始化之后就是检测输入和不断的连接服务器。


  1.      ethernetif_input(&gnetif);
  2.         sys_check_timeouts();
  3.         HAL_Delay(1);
  4.         t++;
  5.         if(t > TIME_DELAY) t = 0;
  6.         if(Get_Client_Connet_State())
  7.         {
  8.             if(rxdatalen)
  9.             {
  10.                 my_send_data(echoclient_pcb, rxdata, rxdatalen);
  11.                 rxdatalen = 0;
  12.                 t = 0;
  13.             }
  14.             if(t == 1000)
  15.             {
  16.                t = 0;
  17.                my_send_data(echoclient_pcb, txdata, strlen((const char*)txdata));
  18.             }
  19.         }
  20.         else
  21.         {            
  22.             if(t == TIME_DELAY)
  23.             {
  24.                 t = 0;               
  25.                 my_tcp_echoclient_connection_close(echoclient_pcb);
  26.                 tcp_echoclient_connect();
  27.             }
  28.         }  
复制代码


2、 Ping


最简单的就是Ping,这个系统自带的命令可以很方便的检测是否连接成功以及连接的延迟如何。


TIM截图20170716192701.png


3 Echo操作


Echo  在端口7检测有没有数据的到来,使用的软件是一个开源的EchoTool。下面的测试可以看到客户端连上服务器之后传输字符串给测试工具。
erer.gif

4 收发测试


收发测试中开发板将收到的数据原封的发送给上位机,如果上位机没有发送数据,开发板每隔一段时间会自动的发送一个字符串到服务器。


TIM截图20170716201845.png


主要的处理是将收到的数据保存起来然后发送给你服务器,测试如下;

1.gif




   如果上面的测试都没有问题,那么LwIP及以太网基本的移植应该没有太大问题了,接下来就可以做其他的功能测试了。




测试代码及工具:

LCD_Client.rar (7.07 MB, 下载次数: 4534)
回复

使用道具 举报

47

主题

3404

回帖

30

蝴蝶豆

版主

最后登录
2020-12-7
发表于 2017-7-16 20:53:18 | 显示全部楼层
赞赞。。。。
回复 支持 反对

使用道具 举报

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
发表于 2017-7-16 21:55:19 | 显示全部楼层
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2017-7-17 09:09:25 | 显示全部楼层
新的一周学习下
回复 支持 反对

使用道具 举报

18

主题

819

回帖

2

蝴蝶豆

论坛元老

最后登录
2020-12-4
发表于 2017-7-17 11:41:30 | 显示全部楼层
厉害了,,学习哦
回复 支持 反对

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
 楼主| 发表于 2017-7-17 13:41:25 | 显示全部楼层

                  
回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2017-7-17 13:51:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
2018-7-17
发表于 2018-6-22 15:50:03 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

0

主题

3

回帖

0

蝴蝶豆

初级会员

最后登录
2020-2-9
发表于 2018-8-13 16:24:46 | 显示全部楼层
研究下,谢谢
回复 支持 反对

使用道具 举报

0

主题

5

回帖

0

蝴蝶豆

中级会员

最后登录
2020-11-7
发表于 2019-7-19 10:47:44 | 显示全部楼层
谢谢,看一下
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版