creep 发表于 2017-7-16 20:31:37

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

相关推荐:【F769IDISCOVERY评测】LwIP Echo 及数据传输测试


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

1、移植部分


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

static void Netif_Config(void)
{
    ip_addr_t ipaddr;
    ip_addr_t netmask;
    ip_addr_t gw;
#ifdef USE_DHCP
    ip_addr_set_zero_ip4(&ipaddr);
    ip_addr_set_zero_ip4(&netmask);
    ip_addr_set_zero_ip4(&gw);
#else
    IP_ADDR4(&ipaddr, IP_ADDR0, IP_ADDR1, IP_ADDR2, IP_ADDR3);
    IP_ADDR4(&netmask, NETMASK_ADDR0, NETMASK_ADDR1, NETMASK_ADDR2, NETMASK_ADDR3);
    IP_ADDR4(&gw, GW_ADDR0, GW_ADDR1, GW_ADDR2, GW_ADDR3);
#endif /* USE_DHCP */
    /* add the network interface */
    netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, ðernet_input);
    /* Registers the default network interface */
    netif_set_default(&gnetif);

    if(netif_is_link_up(&gnetif))
    {
      /* When the netif is fully configured this function must be called */
      netif_set_up(&gnetif);
    }
    else
    {
      /* When the netif link is down this function must be called */
      netif_set_down(&gnetif);
    }
}
进行初始化之后就是检测输入和不断的连接服务器。


   ethernetif_input(&gnetif);
      sys_check_timeouts();
      HAL_Delay(1);
      t++;
      if(t > TIME_DELAY) t = 0;
      if(Get_Client_Connet_State())
      {
            if(rxdatalen)
            {
                my_send_data(echoclient_pcb, rxdata, rxdatalen);
                rxdatalen = 0;
                t = 0;
            }
            if(t == 1000)
            {
               t = 0;
               my_send_data(echoclient_pcb, txdata, strlen((const char*)txdata));
            }
      }
      else
      {            
            if(t == TIME_DELAY)
            {
                t = 0;               
                my_tcp_echoclient_connection_close(echoclient_pcb);
                tcp_echoclient_connect();
            }
      }

2、 Ping


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





3 Echo操作


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


4 收发测试


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





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






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




测试代码及工具:






推荐阅读:

【F769IDISCOVERY评测】LwIP之以太网固件升级

【F769IDISCOVERY评测】ESP8266简单上手


Paderboy 发表于 2017-7-16 20:53:18

:loveliness::loveliness:赞赞。。。。

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

烟花绽放 发表于 2017-7-17 11:41
厉害了,,学习哦

:P                  

qianfan 发表于 2017-7-17 13:51:05

:lol:lol:lol:lol

幸福的彼岸 发表于 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

赞一个!
页: [1]
查看完整版本: 【F769IDISCOVERY评测】LwIP Echo 及数据传输测试