6-网络芯片CH395Q学习开发-模块使用Socket0-3作为4路TCP客户端和电脑上位机TCP服务器局域网通信
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
这节演示一下模组使用Socket0-3作为4路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.服务器分别给4个客户端发送消息
单片机程序里面写的是把接收的服务器返回给服务器,并使用串口打印接收的消息
程序说明
1.因为是局域网,连接了路由器,所以需要启用DHCP
3.每隔8S判断,如果Socket没有连接,则初始化Socket和控制Socket连接服务器
4.在中断检测事件里面处理Socket相关事件
5.提示
4路Socket使用了同一个处理函数
void ch395_socket_tcp_client_interrupt(UINT8 sockindex)
实际应用中也可以使用一个,然后以sockindex作为区分,去做不同的处理
当然也可以多写几个处理函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具