官方自带的LWIP测试回环程序,实现的功能只是一个单纯的把接收到的数据原封不动的回传回PC机,实际工程运用自然是用不起来的,这里介绍一下如何修改成任意长度数据接收及发送:
首先就是基本的配置代码,这里不采用自带的那种方式,前面的初始化配置基本上一样:

这里为了方便自动重新连接,设计了一个定时器中断,每250ms检查一次网络连接状态:
这里重连及初始化配置主要用到了两个函数:
tcp_new及tcp_connect,两个函数都是socket自带的函数,具体使用如下图:

注意圈主的回调函数,接收和发送主要靠

画横线部分的回调函数,下面讲一下如何做到任意长度数据的接收及发送,

接收:
对于长度长度不长的直接放入内存即可

然后根据对应的数据格式定义结构体直接解析即可


对于发射,主要涉及的两个函数就是

tcp_write及tcp_output
为了实现任意长度的数据发送,对数据进行拆包处理:

最后只需给出数据的首地址及要发送的长度,即可实现任意数据的发送

ZYNQ LWIP实现任意长度数据接收发送相关推荐

  1. STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

    参考资料:1.ST HAL库官网资料 2.https://blog.csdn.net/u014470361/article/details/79206352#comments 一.STM32CubeM ...

  2. [原创]ADM3251发热、数据接收发送乱码

    开门见山,AMD3251主要用于RS232隔离通信,在官方的数据手册中,有两种典型应用,如下 有两种电源供电方式,4.5V - 5.5V,则不需要另外供电.如果是3.0V - 3.7V,需要再供一组电 ...

  3. 32 ART DMA 接收未知长度的数据和发送

    STM32实现USART+DMA接收未知长度的数据和发送 STM32学习笔记三 竹天笑 前言:开始学USART+DMA的时候看到帖子<STM32 UART DMA实现未知数据长度接收>,觉 ...

  4. STM32cube HAL库 UART串口中断方式收发任意长度 调试笔记

    STM32Cube对于新项目的开发能节省不少时间,从繁琐芯片初始化中解脱出来 1.STM32 UART初始化部分,配置好工程,采用STM32cube生成代码,初始化即已经完成. 2.串口中断方式的发动 ...

  5. ZYNQ -Lwip和TCP/IP简介

    TCP/IP TCP/IP 通信协议是对计算机必须遵守的规则的描述,只有遵守这些规则,计算机之间才能进行通信.浏览器与服务器都在使用 TCP/IP 协议, E-Mail 使用 TCP/IP 协议,电子 ...

  6. python socket发送组播数据_python3通过udp实现组播数据的发送和接收操作

    本文主要通过对海康摄像头进行抓包,模拟发送了udp包,并抓取摄像头返回的数据包,解析并提取相关信息. 通过抓包发现,海康摄像头发送.接收数据使用udp协议,后来比较发现,使用python模拟起来比较简 ...

  7. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收: 1.Data Items : 比特类型数据,限制100KB以内 2.Assets : 资源类型数据,大小无上限 3.Message : 发送消息,触发指令 http:/ ...

  8. 第三课--EFM32GG11系列--串口接收不定长度数据的几种方式

    一.硬件串口引脚定义 PE10-->USART0-TX PE11-->USART0-RX 上面表格中,红色方框画出的内容用程序实现如下,在串口初始化时需要实现,不过经本人测试过,把这段代码 ...

  9. java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...

    只实现了传送文件的功能. 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中. 消息格式: 字段 长度(单位字节) 内容 -------------- ...

  10. python获取本地时间并向服务器发送udp报文_python3通过udp实现组播数据的发送和接收操作...

    本文主要通过对海康摄像头进行抓包,模拟发送了udp包,并抓取摄像头返回的数据包,解析并提取相关信息. 通过抓包发现,海康摄像头发送.接收数据使用udp协议,后来比较发现,使用python模拟起来比较简 ...

最新文章

  1. Xcode10:Implicit declaration of function '' is invalid in C99
  2. Elasticsearch深入11 运维
  3. Reactive Cocoa实践举例
  4. 梅森增益matlab求解,梅森公式互不接触回路及其增益
  5. HTML特殊符号/特殊字符
  6. [css] css中padding和margin是相对于父元素还是子元素呢?
  7. 社招 | 腾讯天天P图 定义视频新科技~base上海
  8. Webpack4 学习笔记 - 02:loader 打包静态资源(图片)
  9. 简单的文本文件加密小程序
  10. Android使用sqlliteOpenhelper更改数据库的存储路径放到SD卡上
  11. 软工网络15团队作业4——Alpha阶段敏捷冲刺-3
  12. wintc的安装方法
  13. Learn Python The Hard Way (python 2.7) ex45.py 你来制作一个游戏
  14. c语言运算符ppt,C语言运算符课件.ppt
  15. 04.修改Docker镜像源地址为网易镜像源地址
  16. 蓝桥杯2014省赛——猜年龄(Java)
  17. 孙子兵法 三十六计(猫鼠版)
  18. CSPJ2021考完了,你,AK了吗?
  19. error: %preun(mysql-community-server-5.7.36-1.el6.x86_64) scriptlet failed
  20. java倒计时器_java – 使用计时器倒计时

热门文章

  1. 技术博客对找工作有帮助吗?
  2. [渝粤教育] 西南科技大学 中国古代文学〔2〕 在线考试复习资料
  3. Android 截屏实现、屏幕截图、MediaProjection、ImageReader
  4. VMware出现“该虚拟机似乎正在使用中”问题
  5. 虚拟机服务器渗透,对一台虚拟主机服务器的渗透 -电脑资料
  6. 2019美团技术沙龙合辑PPT下载
  7. 韩顺平php ecshop,ecshop教程
  8. 合取式/合取范式/主合取范式/重言式/矛盾式 基本概念
  9. BuBu笔记——MyBatis进阶-多表查询(秃头BUBu的超详细备注,一定要看哦)
  10. wamp的Laravel项目的Apache虚拟主机域名绑定和端口修改(实用)