求助,esp-idf迁移到v5.0.1后,tcp/ip适配器组件API对应的接口?

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

求助,esp-idf迁移到v5.0.1后,tcp/ip适配器组件API对应的接口?

Postby joseph_ji » Mon Apr 10, 2023 9:21 am

我原来项目使用的idf版本是v4.3,该版本下,tcpip_adapter组件还能使用,我用了一个tcpip_adapter的API函数tcpip_adapter_get_netif(ESP_STA_IF, &netif),目的是为了发送arp包(etharp_request(netif, &sdio_ip_addr1)需要struct netif *类型的参数),如下图:
arp_request.PNG
arp_request.PNG (12.22 KiB) Viewed 2041 times
后面迁移到idf_v5.0.1后,tcpip_adapter组件移除了,但我仍然需要发送arp包(即调用etharp_request()),此时我如何获取到netif参数数据呢(即 ESP-NETIF 组件下替代tcpip_adapter_get_netif()的接口)?或者用什么函数可以替代etharp_request()使其可以使用ESP-NETIF 组件下的esp_netif_t的接口呢?

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: 求助,esp-idf迁移到v5.0.1后,tcp/ip适配器组件API对应的接口?

Postby joseph_ji » Mon Apr 10, 2023 9:29 am

顺带一提,我一开始直接使用etharp_request(),传入esp_netif_t *zy_netif_sta参数,程序执行至此会重启;log如下图:
重启log.PNG
重启log.PNG (62 KiB) Viewed 2037 times

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

Re: 求助,esp-idf迁移到v5.0.1后,tcp/ip适配器组件API对应的接口?

Postby ESP_YJM » Thu Apr 13, 2023 12:34 pm

你可以使用 如下代码:

Code: Select all

esp_netif_t * esp_netif = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF");
if (esp_netif) {
    struct *netif = esp_netif_get_netif_impl(esp_netif);
    etharp_request(netif, &sdio_ip_addr1);
}

Who is online

Users browsing this forum: No registered users and 69 guests