212CH579M学习开发以太网例程TCP客户端(项目应用封装,局域网或广域网测试)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH579M" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

说明

这节演示一下模组作为TCP客户端和电脑上位机TCP服务器局域网通信

准备个路由器或者交换机.

 

测试

1.看一下要与之通信的电脑的IP地址

2.修改单片机程序里面的地址

3.打开网络调试助手,启动TCP服务器,监听的端口号为1000

4.使用网线连接电脑连接的路由器或者交换机

5.编译下载这节的程序到开发板

6.开发板上面的串口会打印连接成功的日志

7.使用TCP调试助手发送数据给开发板

开发板会返回接收的数据

程序说明

1.为便于项目应用,我封装了下

2.移植使用的时候只需要把下面的文件拷贝到自己的工程

3.创建net_tcp_client_struct 变量

如果想多路客户端可创建多个

4.把 net_tcp_client_data 函数放到网络接收数据里面

5.创建回调函数, 初始化服务器地址和端口号

6.连接服务器

因为连接了路由器,所以需要DHCP完成之后去执行连接

6.接收发送数据

假设是连接的域名

1.把域名解析到 net_tcp_client.ip_addr_remote 数组, 然后再执行DHCP

关于域名api函数的使用参照前面的dsn域名解析部分

 

其它

1.把连接函数放到断开连接回调函数里面执行可以做到断线重连

2.连接超时时间可在 CH57xNET.h里面设置(一般不需要设置)

当前是每隔10*50 = 500ms尝试重新连接, 总共尝试20次,  即连接超时时间为 10s

原文地址:https://www.cnblogs.com/yangfengwu/p/15784251.html