其他分享
首页 > 其他分享> > 5-网络芯片CH395Q学习开发-模块使用Socket0作为TCP客户端和电脑上位机TCP服务器局域网通信

5-网络芯片CH395Q学习开发-模块使用Socket0作为TCP客户端和电脑上位机TCP服务器局域网通信

作者:互联网

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" style="font-size: 14px" width="100%"></iframe>

说明

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

提醒:无论是SPI,USART,并口,程序操作步骤都是一样的!

只是不同的接口发指令发给模块,然后用不同的接收接收数据而已.

 

测试本节代码

1.用户可以使用杜邦线根据自己的情况设置和连接引脚

 

 

 

 

2,注意!

要想模块使用SPI通信,模块的TX引脚需要在模块重启之前设置为低电平.

上面的引脚分配把模块的TX引脚接到了单片机的PA3上,也就是串口2的RX上,如果用户使用了串口2,请注意!

 

3.把模块用网线和路由器或者交换机(和上位机在同一个局域网下)

 

 

注意,连接路由器或者交换机的时候是连接其LAN口.

 

 

 

4,在电脑上运行网络调试助手,开启TCP服务器

 

 

 

我设置监听的端口为8888

 

 

 

5.查看自己电脑的IP地址

我的为 192.168.0.103

所以我的TCP服务器地址为 192.168.0.103,端口号为8888

 

 

 

 

6,打开这节程序

 

 

7,根据自己的修改服务器IP地址和端口号

 

 

 

8.下载到单片机,单片机串口1作为日志打印口

连接上服务器会显示

 

 

 

调试助手会显示连接

 

 

 

 

9.服务器给客户端发送消息

单片机程序里面写的是把接收的服务器返回给服务器,并使用串口打印接收的消息

 

 

 

 

 

 

 

程序说明

1.初始化

 

 

 

 

2.因为是局域网,连接了路由器,所以需要启用DHCP

 

 

 

3.每隔8S判断,如果Socket没有连接,则初始化Socket和控制Socket连接服务器

 

 

 

 

 

 

 

 

4.在中断检测事件里面处理Socket相关事件

 

 

 

 

 

 

 

 

 

5.提示

在执行完CH395TCPConnect(SocketIndex);//连接服务器

以后,如果连接成功,会进入Socket连接成功回调,然后就是正常通信

 

 

 

 

 

 

 

在执行完CH395TCPConnect(SocketIndex);//连接服务器

以后,如果连接超时(默认5S)会进入Socket连接超时回调

然后程序到了8S之后便会再次尝试连接.

 

 

 

6.如果在其它位置发送数据,推荐的方式

 

标签:Socket,引脚,TCP,CH395Q,模块,服务器,连接,Socket0
来源: https://www.cnblogs.com/yangfengwu/p/14877176.html