前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >7-网络芯片CH395Q学习开发-模块使用Socket0-5作为6路TCP客户端和电脑上位机TCP服务器局域网通信(Socket缓存区配置)

7-网络芯片CH395Q学习开发-模块使用Socket0-5作为6路TCP客户端和电脑上位机TCP服务器局域网通信(Socket缓存区配置)

作者头像
杨奉武
发布2021-06-17 20:15:22
5690
发布2021-06-17 20:15:22
举报
文章被收录于专栏:知识分享

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

说明

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

提示:其实这节和上一节没有太大差别,这节增加了配置Socket缓存区的设置.

注意:只有在芯片版本大于4上才有Socket4-7功能,这节代码只有芯片版本大于4才启动Socket4,5

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

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

先学前面一路连接的!再来学这个多路的.

测试本节代码

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

2,注意!

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

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

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

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

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

换了个调试助手,上一个有点卡顿

我设置监听的端口为8888

TCP服务器地址为 192.168.0.103

6,打开这节程序

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

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

连接上服务器会显示如下

注意:版本号低于4的不会执行Socket4,5

9.服务器分别给4个客户端发送消息

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

程序说明

1.设置Socket缓存区域

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

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

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

5.提示

6路Socket使用了同一个处理函数

void ch395_socket_tcp_client_interrupt(UINT8 sockindex)

实际应用中也可以使用一个,然后以sockindex作为区分,去做不同的处理

当然也可以多写几个处理函数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 测试本节代码
  • 程序说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档