问题描述:在MPSOC裸机平台下,使用lwip UDP可正常发送,但是无法接收。
原因:程序例程中start_application函数里,pcb = udp_new()后,没有给pcb->local_port赋初值,调用udp_connect函数是系统自动生成一个本地的udp端口,但是并未告知用户,导致在使用网络调试助手时无法选择正常的发送端口,导致MPSOC平台收不到udp数据。
解决:在语句pcb = udp_new();后增加一条语句pcb->local_port=5010;指定本地端口,在网络调试助手中向该端口发送数据,MPSOC平台即可正常接收。
在MPSOC裸机环境下,使用LWIP库的UDP服务时,发现能正常发送数据但无法接收。问题在于start_application函数中的pcb创建后,未指定本地端口,udp_connect函数自动分配的端口未告知用户。解决方法是在创建pcb后,手动设置pcb->local_port为5010,然后在网络调试助手中使用该端口发送数据,即可实现MPSOC平台的UDP数据正常接收。
1656

被折叠的 条评论
为什么被折叠?



