Wie man esp_eth_new_netif_glue() behebt, das NULL zurückgibt
Problem
Beim Initialisieren der Ethernet-Schnittstelle Ihres ESP32 mit esp_eth_new_netif_glue() erhalten Sie einen NULL-Zeiger zurück.
esp_eth_fix.cpp
esp_eth_netif_glue_handle_t netif_glue = esp_eth_new_netif_glue(eth_handle);
if(netif_glue == nullptr) {
log_e("esp_eth_new_netif_glue failed");
}Lösung
Der typische Grund, warum dies fehlschlägt, ist, dass die Standard-Event-Schleife nicht läuft, was wiederum dazu führt, dass esp_event_handler_instance_register() mit ESP_ERR_INVALID_STATE fehlschlägt.
Starten Sie die Standard-Event-Schleife, bevor Sie esp_eth_new_netif_glue() aufrufen:
esp_event_loop_create_default.cpp
esp_err_t err = esp_event_loop_create_default();
if(err != ESP_OK) {
log_e("esp_event_loop_create_default failed");
return;
}If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow