一、环境准备
电脑系统:Windows 10 专业版 20H2
IDE:Keil v5.35、STM32CubeMX v6.5.0
测试硬件:STM32F767
二、测试步骤
1、测试目的
建立一个可重连的客户端
2、使用工程
参考 STM32F767+LWIP+CubeMX配置-CSDN博客
3、初始化客户端
参考正点原子的lwip客户端代码
MX_LWIP_Init()
{
...
/* USER CODE BEGIN 3 */
tcppcb = tcp_new(); /* 创建一个新的pcb */
if (tcppcb) /* 创建成功 */
{
IP4_ADDR(&rmtipaddr, IP_Remote[0], IP_Remote[1], IP_Remote[2], IP_Remote[3]);
tcp_connect(tcppcb, &rmtipaddr, Port_Remote, lwip_tcp_client_connected); /* 连接到目的地址的指定端口上,当连接成功后回调lwip_tcp_client_connected()函数 */
IsConnect = true;
}
/* USER CODE END 3 */
}
4、增加重连、热插拔功能
完成初始化后,在打开服务器的情况下,客户端可以连接服务器。
但是服务器断开、或者网线插拔后,无法自动重连。
重连代码如下:
5、编译烧录
三、运行效果
四、工程资料下载
2-Lwip-TcpClient.rar (访问密码: 1666)https://url48.ctfile.com/f/33868548-1268601737-3a60f3?p=1666