STM32
直播中

李慧

7年用户 875经验值
私信 关注
[问答]

在STM32F407开发板上移植了LwIP TCP,在while(1)里或者接收到数据后就什么也发不出来的原因?

STM32F407开发板上移植了LwIP TCP,当我想做客户端的时候,在初始化阶段使用函数tcp_write()就可以发送出来数据,但是,当在while(1)里或者接收到数据之后,在这两个地方调用此函数时,就什么也发不出来,这是什么原因导致的?

回帖(2)

李乔

2024-4-12 09:58:31
建议使用仿真模式查看一下发送时TCP入口的tcp_ppp的是否时有效的。这个ppp一定要定义成全局的而不是局部的。
举报

李淑嘉

2024-4-12 09:58:42
数据发送不成功,建议检查程序是否执行到了low_level_output函数。从这里,可以定位问题到底是应用层,协议栈执行的问题,还是底层驱动的问题。然后再进行跟踪调试。
另外也可以打开LWIP_DEBUG宏定义,并且在lwipopts.h文件中,设置调试选项。这样,可以通过串口查看协议栈执行的情况。具体的调试选项可以在opt.h文件的“Debugging options”部分找到,建议可以先打开NETIF_DEBUG和PBUF_DEBUG,以免信息过多。
举报

更多回帖

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