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 没有出现问题。
请技术支持分析下问题,急!!!!
[已解决] wifi模式设置静态IP地址失败
Re: wifi模式设置静态IP地址失败
wifi_connected_handler 这个函数注册的地方代码你是怎么写的。确认下 netif 是否为 NULL.
Code: Select all
esp_event_handler_instance_register(IP_EVENT,IP_EVENT_STA_GOT_IP, &wifi_connected_handler, ...)
-
- Posts: 4
- Joined: Sun Jan 08, 2023 2:35 pm
Re: [已解决] wifi模式设置静态IP地址失败
你好,我也遇到了手动配置静态地址失败,不知道是什么原因呢,大佬你是怎么解决的
Who is online
Users browsing this forum: Baidu [Spider] and 135 guests