LWIP 在调用 tcp_connect() 时返回路由错误 ( err_t ERR_RTE)
LWIP 在调用 tcp_connect() 时返回路由错误 ( err_t ERR_RTE)一下是代码/* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART3_UART_Init(); Print("USART init ok\n"); MX_USB_OTG_FS_PCD_Init(); Print("USB pcd init ok\n"); MX_LWIP_Init(); Print("LWIP init ok\n"); /* USER CODE BEGIN 2 --------------------------------------------------------------------------------------------------------------------------------*/ struct tcp_pcb * tcp_client = {0}; tcp_client = tcp_new(); if(tcp_client != 0) { Print("tcp_new ok\n"); err_t error = {0}; error = tcp_bind(tcp_client, IP_ADDR_ANY); if(error == ERR_OK) { Print("tcp_bind ok\n"); err_t errorConnect = {0}; struct ip4_addr remoteIP; IP4_ADDR(&remoteIP, 192, 168, 127, 250); errorConnect = tcp_connect(tcp_client, &remoteIP, 4002, tcpConnect); if(errorConnect == ERR_OK) { Print("tcp_connect ok\n"); } else { Print("Error: tcp_connect \n"); } } else { Print("Error: tcp_bind\n"); } } else { Print("Error: tcp_new faild\n"); }IP 地址配置错误? 目标 IP 地址无效或不可达。 通常是网络配置错误或物理层问题。 检查目标 IP 地址、本地网络接口状态、PHY/MAC 初始化。 本地网络接口未正确初始化? 检查 LWIP 配置,修改配置后重新编译并下载固件。 如果目标 IP 地址不在本地子网内,且网关未正确配置,LWIP 无法将数据包路由到外部网络。 可能是以太网物理层或链路层未正确初始化。 意味着 LWIP 无法找到从本地 IP 到目标 IP 的路由。
页:
[1]