相关推荐:【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及以太网基本的移植应该没有太大问题了,接下来就可以做其他的功能测试了。
测试代码及工具:
LCD_Client.rar
(7.07 MB, 下载次数: 4543)
|