212-CH579M学习开发-以太网例程-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