ARM技术论坛
直播中

张超

7年用户 18经验值
擅长:可编程逻辑 嵌入式技术 接口/总线/驱动
私信 关注
[问答]

LwIP协议中的UDP程序只能通过udp_new建立六个udp_pcb

    目前在写的程序是UDP通信,目的是可以接受同一网段的任意IP(非自身和0和1)的同一端口(如5000)发送来的消息,接收的端口号与发送端的IP最后一位有关(如5000+IP最后一位),数据包的处理相同。   我现在的理解是建立一个udp_PCB[253]的数组,然后用for循环分别按照要求进行bind和connect,最后和同一函数udp_recv。
    现在发现最多只能建立6个udp_pcb,如果更多的话,烧录到是STM32中后,网口左侧的黄色灯会闪烁,分析应该是初始化过程中又重启了,然后一直循环初始化,重启。
    不知道什么原因,因为也是刚刚开始学LwIP方面的知识,可能有很多表达不正确。希望了解的大佬能指点一下。要是有解决方法就更好了。
     万分感谢。
已退回3积分

回帖(6)

张超

2017-11-5 14:05:00
尝试顶一下
举报

chenwei6991627

2017-11-6 10:10:48
用的是什么芯片啊,W5500?
举报

不吃菜的虫

2017-11-6 12:20:16
程序盲   帮你顶下  哈哈
举报

张超

2017-11-6 19:53:51
引用: chenwei6991627 发表于 2017-11-6 10:10
用的是什么芯片啊,W5500?

用的芯片是STM32
举报

张超

2017-11-7 16:26:40
引用: zxzc0227 发表于 2017-11-6 19:53
用的芯片是STM32

网络芯片用的是DP83848
举报

h1654155956.5608

2017-11-16 14:07:08
MEMP_NUM_UDP_PCB这个宏定义你应该定义的是6吧,把6改成8试试看。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分