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

【F769IDISCOVERY评测】LwIP Echo 及数据传输测试

[复制链接]
creep 提问时间:2017-7-16 20:31 /
相关推荐【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, 下载次数: 4543)
收藏 2 评论11 发布时间:2017-7-16 20:31

举报

11个回答
Paderboy 回答时间:2017-7-16 20:53:18
赞赞。。。。
Stm32McuLover 回答时间:2017-7-16 21:55:19
zero99 回答时间:2017-7-17 09:09:25
新的一周学习下
烟花绽放 回答时间:2017-7-17 11:41:30
厉害了,,学习哦
creep 回答时间:2017-7-17 13:41:25

                  
qianfan 回答时间:2017-7-17 13:51:05
幸福的彼岸 回答时间:2018-6-22 15:50:03
学习了
lingzhi0202 回答时间:2018-8-13 16:24:46
研究下,谢谢
s00750-213025 回答时间:2019-7-19 10:47:44
谢谢,看一下
qwer231 回答时间:2019-10-30 16:53:15
多谢你的这个工具
李志学 回答时间:2022-10-8 14:30:06
赞一个!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版