在使用电脑作为上位机,lwip的udp协议给stm32h7发送40k的文件时,发现IP层切片重组有问题。在使用wireshark抓包后发现40k的文件被切分成了每个1k的包进行发送,但是是每个包单独发送的,没有被正确的添加标识字段和标志位,分片偏移量。也就是相当于一个文件被当成了40个文件。
这种情况是什么原因呢?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已结题
用udp协议给stm32h7发送大数据文件IP切片出错
收起
- 写回答
- 好问题 1 提建议
- 关注问题
- 微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
qllaoda 2022-11-02 02:10关注你看一下是IP层切片的还是UDP层切片的,一般来说,IP层切片是要避免的,因为这种包一般无法通过路由器,而且一些嵌入式协议栈可能不支持,因为它会占据太多的RAM,在lwip的配置里应该禁用IP分片。
用UDP发送的时候,应该避免一次发送超过MTU长度的数据
从你的描述看,可能是被分成了多个UDP包,所以你在IP标头里才看不到偏移量之类的信息本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报 编辑记录微信扫一扫点击复制链接分享编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览
轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-10-14 01:02回答 2 已采纳 开发板的 MAC 地址如果设置成一样的话就会出现你说的现象。
- 2021-10-18 02:43回答 2 已采纳 tcp发送的基本原型是一个数据指针和数据长度,你把要发送的数据封装到一个数组里或者结构体里,然后把数组或结构体的指针传过去,长度传过去就可以了
- 2022-03-21 06:15回答 1 已采纳 首选要明确一点udp通信不是面向长连接的,客户端的ip和端口号会随时变,所以下发要在收到客户端消息时即时获取客户端的ip和端口即时下发
- 2022-11-30 02:30STM32H7R系列lwIP网络通信项目实战,代码可直接编译运行~
- 2022-04-13 02:52回答 1 已采纳 找个带端口镜像的交换机,或者其它有类似功能的设备,通过电脑监听两个板子之间的通讯数据,看是发送问题还是接收处理问题。另外,你说的收到了前导码,MAC地址,这个应该是FPGA那边收到的吧,STM32应该
- 2019-09-05 03:24回答 1 已采纳 基本原则:在多任务系统如果多个任务要访问同一个数据(如你的链表),需要做互斥的,否则会造成异常跑飞
- 2023-02-28 07:48回答 2 已采纳 192.168.1.255表示对1网段进行广播大概你的工控板ip段设置的不正确,ping不到,所以调试助手自动给你改为广播了
- 2022-05-04 01:10STM32 UDP通讯接收发送源程序是针对STM32F407微控制器设计的通信程序,主要利用了网络协议栈中的用户数据报协议(UDP)进行数据传输。该程序适用于嵌入式硬件开发,特别是在需要稳定网络通信的场景下。下面将详细...
- 2016-10-12 18:41回答 1 已采纳 你每次绑定一个IP来发送,发送一个了,就绑定下一个IP,再发送 ``` import socket s = socket.socket(socket.AF_INET, socket.SOC
- 2022-09-17 08:41回答 3 已采纳 仿真停下来看看在哪个死循环里面,那个查找字符串的函数能确保正确吗? 可以尝试用标准库函数去查找字符串。串口接收需要对回车换行归零操作,建议把串口中断代码也贴上来。
- 2021-12-22 15:36回答 3 已采纳 UDP允许一对多多对多传输, TCP只能一对一虽然TCP提供可靠的传输, 保证数据不出错, 但是实时性很低所以对实时性要求高的情况下, 首选UDP, 对数据完整性要求高的话, 首选TCP
- 2021-06-30 14:08STM32H7系列是意法半导体...通过学习和参考这个压缩包中的资源,开发者能够更好地理解和实践STM32H7与W5500的配合使用,掌握嵌入式系统中的网络通信技术,为自己的项目提供稳定、高效的以太网功能。
- 2023-06-02 10:22STM32H743是意法半导体(STMicroelectronics)推出的一款高性能、低功耗的微控制器,属于STM32H7系列。这个系列基于Arm Cortex-M7内核,具有高速浮点运算能力和丰富的外设接口,适用于复杂的嵌入式系统设计。在这个...
- 2023-02-15 07:57STM32H750是意法半导体(STMicroelectronics)推出的一款高性能的32位微控制器,属于STM32H7系列。该系列芯片基于ARM Cortex-M7内核,具有高速运算能力和丰富的外设接口,广泛应用于工业控制、物联网设备、高端消费...
- 2020-01-07 08:23STM32F407以太网UDP主机发送接收程序是一个关键的应用实例,适用于嵌入式系统开发,尤其是那些基于STM32F407微控制器的项目。STM32F407是一款高性能的ARM Cortex-M4内核处理器,具有浮点单元,广泛应用于工业控制、...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
- 公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司