使用stm32开发板利用lwip协议做TCP客户端,怎样检测发出的数据是不是被PC服务端收到?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用stm32开发板利用lwip协议做TCP客户端,怎样检测发出的数据是不是被PC服务端收到?相关的知识,希望对你有一定的参考价值。
试了一下,,用ETH_ReadPHYRegistert函数能够检测到网线中断,但对于网线物理连接正常,而线路不太好的情况下,数据是发送 不到服务端的,单步追踪了一些,tcp_connect函数的返回值是OK,pcb->state = ESTABLISHED
但是tcp_write 其实没有 被调用!!!怎样检测TCP通讯中断呢?
找到点思路,在tcp.h中tcp_process()函数中有调用回调函数的地方,因为只有网络连接建立起来才会通讯,才能发送接收数据。所以可以在这个函数里设置标志位,通过检测标志位的变化,就可以知道连接状况了,但这个反应比主函数有延迟,所以需要一定时间间隔后再检测。这是我的思路,还在尝试中。
基于STM32单片机的LwIP协议LwIP 的TCP_client 上传数据温度电压数据到网络调试助手
以上是关于使用stm32开发板利用lwip协议做TCP客户端,怎样检测发出的数据是不是被PC服务端收到?的主要内容,如果未能解决你的问题,请参考以下文章
STM32入门开发: LWIP网络协议栈移植(网卡采用DM9000)
基于STM32单片机的LwIP协议LwIP 的TCP_client 上传数据温度电压数据到网络调试助手
基于STM32单片机的LwIP协议LwIP 的TCP_client 上传数据温度电压数据到网络调试助手
《嵌入式 - Lwip开发指南》第3章 移植LWIP(无系统)