请选择 进入手机版 | 继续访问电脑版
搜索
查看: 576|回复: 6

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

[复制链接]

55

主题

1782

帖子

13

好友

Rank: 7Rank: 7Rank: 7

版主

注册时间
2010-5-10
发表于 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, 下载次数: 4510)
回复

使用道具 举报

45

主题

2811

帖子

3

好友

Rank: 7Rank: 7Rank: 7

版主

注册时间
2015-2-12
发表于 2017-7-16 20:53:18 | 显示全部楼层
赞赞。。。。
回复

使用道具 举报

61

主题

665

帖子

6

好友

Rank: 7Rank: 7Rank: 7

实习版主

注册时间
2015-1-23
发表于 2017-7-16 21:55:19 | 显示全部楼层
回复

使用道具 举报

827

主题

2914

帖子

92

好友

Rank: 9Rank: 9Rank: 9

管理员

注册时间
2016-6-1
发表于 2017-7-17 09:09:25 | 显示全部楼层
新的一周学习下
回复 支持 反对

使用道具 举报

17

主题

685

帖子

3

好友

Rank: 6Rank: 6

金牌会员

注册时间
2014-12-25
发表于 2017-7-17 11:41:30 | 显示全部楼层
厉害了,,学习哦
回复 支持 反对

使用道具 举报

55

主题

1782

帖子

13

好友

Rank: 7Rank: 7Rank: 7

版主

注册时间
2010-5-10
 楼主| 发表于 2017-7-17 13:41:25 | 显示全部楼层

                  
回复 支持 反对

使用道具 举报

76

主题

1816

帖子

6

好友

Rank: 7Rank: 7Rank: 7

版主

注册时间
2014-7-5
发表于 2017-7-17 13:51:05 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|意法半导体STM32/STM8技术社区    

GMT+8, 2017-11-19 16:50 , Processed in 0.116885 second(s), 11 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表