5842|6

1367

帖子

6

TA的资源

版主

小玩CycloneTCP [复制链接]

     对于socket编程,如果自己讲一大堆,会变得班门弄斧。所以还是直接进入重点好了。     本来就想着在单片机跑下lwip,后来free叔叔介绍推荐了cyclonetcp,我个人觉得很好用,用起来很顺手,而且代码注释等也很简洁。
     简单说下CycloneTCP,包括了TCP和SSL两部分,我主要用的是TCP部分,所以SSL部分也没仔细去看。https://www.oryx-embedded.com/cyclone_tcp.html。从网络接口层上看,支持了eth、wifi、usb等常用的接口,从应用层上看,支持了16种应用层协议。对于单片机来说,已经足够很强大了。
TIM截图20180603190502.png
     我并没有切入到应用层上,而是在传输层上入手,因为自己项目上,用的tcp client和server比较多,所以同样在cyclontcp,我也是先试下tcp client的搭建。硬件平台是F746disco。
    从底层开发上,搭建tcp client很简单,只需要调用几个socket接口即可通信。从官方的demo布局可以看到,每个demo都带了freertos,而且各个相关文件都已经给你分配好。
TIM截图20180603191219.png
    我在这个的基础上,建立了一些tcp client的Test任务。我在数据的收发上,自定义的自己的一个小协议。当收到帧头是7e的时候,长度一致,check么问题的时候,我就认为是一次有效数据。
TIM截图20180603191533.png

开发板上的IP分配为静态IP,服务器地址是我的PC的IP地址。
TIM截图20180603191818.png
接下来就是配置client端
TIM截图20180603192112.png
然后在while里面不断等待收到数据,若收到一帧数据则进行处理。
TIM截图20180603192301.png
以上的底层搭建已经完成。接下来就是server端。在PC上新建一个QT工程。在UI设计上简单布局几个控件。
TIM截图20180603192442.png
    当点击"打开连接"的时候,会轮询查询本机的IP地址并显示在ServerIP上,同时也侦听一个端口(我的是8001)使得开发板能够利用这个端口访问服务器。当服务器被客户端访问时,会发出newConnection()信号,因此为该信号添加槽函数acceptConnection()

TIM截图20180603193017.png
   连接成功后,每次点击相对应的控件都会使用Socket的write函数向客户端发送数据socket->write(data);
比如点击发送字符串。则对应到相对应的声明函数里。
TIM截图20180603193257.png
    其他功能,比如收到开发板的相关数据进行处理显示等,后续如果有时间我会继续完善。代码比较简陋,就不敢上传了
    但是可以肯定的是,cyclonetcp功能强大,注释也很好,很适合学习与项目应用。接下来就是点屏的时候了。
TIM图片20180603193750.gif




此内容由EEWORLD论坛网友RCSN原创,如需转载或用于商业用途需征得作者同意并注明出处



此帖出自stm32/stm8论坛

最新回复

cyclone......  我也以为是fpga   的tcp  详情 回复 发表于 2018-6-23 07:41

赞赏

1

查看全部赞赏

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复
举报

3414

帖子

0

TA的资源

纯净的硅(高级)

沙发,刷完屏,5块收
此帖出自stm32/stm8论坛
个人签名

So TM what......?


回复

3414

帖子

0

TA的资源

纯净的硅(高级)

科普一下这个cycloneTCP撒,我还以为是FPGA
此帖出自stm32/stm8论坛

点评

TCP/IP协议栈啊。 兰姐姐不要装萌新,这角色不适合你  详情 回复 发表于 2018-6-3 21:48

回复

1367

帖子

6

TA的资源

版主

ljj3166 发表于 2018-6-3 20:27
科普一下这个cycloneTCP撒,我还以为是FPGA

TCP/IP协议栈啊。  兰姐姐不要装萌新,这角色不适合你
此帖出自stm32/stm8论坛
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1403

帖子

1

TA的资源

纯净的硅(中级)

好玩吗,好玩吗,好玩吗。。。
此帖出自stm32/stm8论坛
个人签名HELLO_WATER

回复

1367

帖子

6

TA的资源

版主

TIM截图20180623003611.png
  在调试的过程中,server端关闭连上client端的时候再次打开,需要过1分钟以上才能再次连接到。后来发现需要每次循环中打开和关闭套接字,已随时更新套接字状态。有点晚,明天再debug
此帖出自stm32/stm8论坛
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

503

帖子

1

TA的资源

纯净的硅(初级)

cyclone......  我也以为是fpga   的tcp
此帖出自stm32/stm8论坛

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表