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

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

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

 

说明

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

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

 

 

测试

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

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

 

 

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

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

 

 

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

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

 

 

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

 

 

 

 

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

 

 

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

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

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

 

 

 

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

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

 

 

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

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

 

 

 

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

 

 

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

开发板会返回接收的数据

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

 

 

程序说明

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

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

 

 

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

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

 

 

3.创建net_tcp_client_struct 变量

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

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

 

 

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

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

 

 

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

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

 

 

6.连接服务器

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

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

 

 

6.接收发送数据

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

 

 

假设是连接的域名

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

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

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

 

 

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

 

 

 

 

其它

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

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

 

 

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

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

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

 

上一篇:普通211研究生大数据开发的秋招总结


下一篇:UE4潜规则