ESP-IDF 5.01中ESP-NOW的速率和模式配置问题
Posted: Wed Apr 05, 2023 12:01 am
您好,以下是ESP-IDF 5.01中ESP-NOW的例程 初始化代码,我尝试更改了ESP-now的通信速率,但是不管如何更改,包括更改WiFi protocol bitmap模式,在配置完全不相同的情况下,都能正常通信,例程完全正常运行,是不是这些参数设置地方错了呢,还是esp-now支持这种特性。怎么才能知道我设置的模式和速率已经生效了呢,有查询通信速率和WIFI模式的函数吗?谢谢。
/* WiFi should start before using ESPNOW */
static void example_wifi_init(void)
{
ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
ESP_ERROR_CHECK(esp_wifi_set_mode(ESPNOW_WIFI_MODE));
ESP_ERROR_CHECK(esp_wifi_start());
// #if CONFIG_ESPNOW_ENABLE_LONG_RANGE
ESP_ERROR_CHECK(esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_LR));
// ESP_ERROR_CHECK(esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N | WIFI_PROTOCOL_LR));
// #endif
//ESP_ERROR_CHECK(esp_wifi_config_espnow_rate(ESPNOW_WIFI_MODE, WIFI_PHY_RATE_MCS7_SGI));
}
/* WiFi should start before using ESPNOW */
static void example_wifi_init(void)
{
ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
ESP_ERROR_CHECK(esp_wifi_set_mode(ESPNOW_WIFI_MODE));
ESP_ERROR_CHECK(esp_wifi_start());
// #if CONFIG_ESPNOW_ENABLE_LONG_RANGE
ESP_ERROR_CHECK(esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_LR));
// ESP_ERROR_CHECK(esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N | WIFI_PROTOCOL_LR));
// #endif
//ESP_ERROR_CHECK(esp_wifi_config_espnow_rate(ESPNOW_WIFI_MODE, WIFI_PHY_RATE_MCS7_SGI));
}