[已解决] wifi模式设置静态IP地址失败

ckesp32idfzyzh
Posts: 13
Joined: Wed Jun 16, 2021 4:08 pm

[已解决] wifi模式设置静态IP地址失败

Postby ckesp32idfzyzh » Thu Nov 18, 2021 12:16 pm

wifi模式在进入连接注册事件回调函数里调用设置静态IP函数,函数如下:


static void wifi_connected_handler(void *arg, esp_event_base_t event_base,
int32_t event_id, void *event_data)
{
app_set_static_ip(arg);
}

static void app_set_static_ip(esp_netif_t *netif)
{
if (esp_netif_dhcpc_stop(netif) != ESP_OK) {
ESP_LOGE(TAG, "Failed to stop dhcp client");
return;
}

esp_netif_ip_info_t ip;
memset(&ip, 0 , sizeof(esp_netif_ip_info_t));
ip.ip.addr = app_static_ip.ip.addr;
ip.netmask.addr = app_static_ip.netmask.addr;
ip.gw.addr = app_static_ip.gw.addr;
if (esp_netif_set_ip_info(netif, &ip) != ESP_OK) {
ESP_LOGE(TAG, "Failed to set ip info");
return;
}
ESP_ERROR_CHECK(app_set_dns_server(netif, app_static_ip.gw.addr, ESP_NETIF_DNS_MAIN));
ESP_ERROR_CHECK(app_set_dns_server(netif, ipaddr_addr("0.0.0.0"), ESP_NETIF_DNS_BACKUP));
}

问题出现在调用这个函数 esp_netif_dhcpc_stop(netif) 后,系统死机复位。这边试过使用以太网,同样在连接成功回调函数调用dhcp_stop 没有出现问题。

请技术支持分析下问题,急!!!!

ckesp32idfzyzh
Posts: 13
Joined: Wed Jun 16, 2021 4:08 pm

Re: wifi模式设置静态IP地址失败

Postby ckesp32idfzyzh » Fri Nov 19, 2021 6:29 am

求助,求助

ESP_YJM
Posts: 300
Joined: Fri Feb 26, 2021 10:30 am

Re: wifi模式设置静态IP地址失败

Postby ESP_YJM » Fri Nov 19, 2021 6:44 am

wifi_connected_handler 这个函数注册的地方代码你是怎么写的。确认下 netif 是否为 NULL.

Code: Select all

esp_event_handler_instance_register(IP_EVENT,IP_EVENT_STA_GOT_IP, &wifi_connected_handler, ...)

ckesp32idfzyzh
Posts: 13
Joined: Wed Jun 16, 2021 4:08 pm

Re: wifi模式设置静态IP地址失败

Postby ckesp32idfzyzh » Fri Nov 19, 2021 9:53 am

搞定了,谢谢。

1500830209
Posts: 4
Joined: Sun Jan 08, 2023 2:35 pm

Re: [已解决] wifi模式设置静态IP地址失败

Postby 1500830209 » Mon Apr 17, 2023 12:57 am

你好,我也遇到了手动配置静态地址失败,不知道是什么原因呢,大佬你是怎么解决的

Who is online

Users browsing this forum: Google [Bot] and 122 guests