硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2358|回复: 3
收起左侧

[LwIP] STM32H7 LWIP UDP超过1472字节连续多发几包跑飞?

[复制链接]

61

主题

62

回帖

245

积分

高级会员

积分
245
发表于 2020-7-23 11:43:13 | 显示全部楼层 |阅读模式
STM32H7 LWIP UDP超过1472连续多发几包跑飞?

上位机工具UDP每次发送<=1472字节定时10ms间隔发送每问题,只要超过1472发几包就进入HardFault_Handler 中断了。
这是什么原因造成的,需要修改什么地方? 但是我的TCP没这个现象!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-7-23 11:46:14 | 显示全部楼层
用BSD Socket还是什么方式。
回复

使用道具 举报

61

主题

62

回帖

245

积分

高级会员

积分
245
 楼主| 发表于 2020-7-23 12:18:10 | 显示全部楼层
eric2013 发表于 2020-7-23 11:46
用BSD Socket还是什么方式。

err_t lwip_server_udp_connect_init(unsigned short src_port, unsigned char *des_ip, unsigned short des_port)
{
     err_t err=0;
     
     IP4_ADDR(&lwip_server_udp_rev_addr, des_ip[0], des_ip[1], des_ip[2], des_ip[3]);
     lwip_server_udp_rev_port = des_port;
            
     lwip_server_udp_close();
     lwip_server_udp_pcb = udp_new();
     if (lwip_server_udp_pcb)
     {
         err = udp_bind(lwip_server_udp_pcb, IP_ADDR_ANY, src_port);
         udp_recv(lwip_server_udp_pcb, lwip_server_udp_rev, NULL);
     }
     return err;
}
这种
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-7-23 15:17:04 | 显示全部楼层
vzhaodan 发表于 2020-7-23 12:18
err_t lwip_server_udp_connect_init(unsigned short src_port, unsigned char *des_ip, unsigned short  ...


查下这个函数 udp_recv是否支持多帧接收,如果支持,那就是程序设计问题了,排查下什么原因造成的。

还是不好使,就小于一帧最大值分批传输吧。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 04:28 , Processed in 0.155418 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表