以太网通信控制板-A1-控制板作为TCP客户端和电脑TCP服务器通信(连接电脑网线方式, TCP服务器<-->RS485)

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

 

说明

这节测试一下控制板连接电脑网线然后作为TCP客户端和电脑端的TCP服务器通信

RS485接收的数据通过TCP发送给TCP服务器, 从TCP服务器接收的数据通过RS485输出

 

测试

1,电脑的网线连接控制板网口

 

 

2,控制板网络信息设置如下

IP地址:192.168.1.200

网关地址:192.168.1.1

子网掩码:255.255.255.0

 

3.如若修改,可在单片机程序eth_driver文件中修改配置

 

 

4.程序中设置的连接的TCP服务器IP地址为192.168.1.100  端口号为:6000

 

 

 

5.修改电脑配置

关闭电脑防火墙

 

 

 

 

 

 

 

 

打开电脑的网络配置,配置下电脑

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

7.把这节的程序下载到控制板

 

 

 

8.调试助手上会显示一个连接

 

 

9.TCP服务器发送数据给控制板

 

 

 

用户可以在RS485 收到服务器发送的数据

 

 

   

 

 

10.用户通过RS485给控制板发数据

 

 

数据将会转发到服务器

  

程序说明

1,用户可以在net_config.h里面配置socket,受内存限制,最多只能8路socket

当前是配置的2路UDP, 3路TCP client, 1路 TCP server

 

 

2,定义一个TCP客户端变量,然后写几个回调函数

 

 

3,创建和连接

 

4,TCP客户端处理网络数据

这是固定写法,这个函数里面会判断是不是自己的socket数据,如果是自己的socket数据,就会做处理

 

 

5,下面的程序是支持上域名连接(固定这样子写就可以)

提示: 如果是域名连接实际过程是这样子的, 一开始net_tcp_client1.ip_addr_remote数组全是0, 是连接不上的,

客户端就在不停的重连, 直到DNS解析出来IP地址并赋值给net_tcp_client1.ip_addr_remote数组,然后后面就可以正常连接了

 

 

6,在网线状态检测里面加了断线重连函数

 

7,发送数据

发送数据就是调用 net_tcp_client_send(&net_tcp_client1, data, length);

比如把RS485接收的数据发送给服务器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

posted on 2023-04-12 12:07  广源时代  阅读(166)  评论(0编辑  收藏  举报

导航

支付宝 QQ群