乐鑫技术交流
直播中

丁冬芹

7年用户 1268经验值
私信 关注
[问答]

使用esp-now协议时,PHY模式无法设置成WIFI_LR模式怎么办?

您好,使用esp-now协议时,无法使用乐鑫专有的远程模式。
串口得到的日志如下所示:
IDF版本  v5.01    芯片 esp32-C3
I (522) wifi:enable tsf
E (522) wifi:failed to post WiFi event=2 ret=259
E (522) wifi:failed to post WiFi event=3 ret=259
I (522) wifi:enable tsf
E (532) wifi:failed to post WiFi event=2 ret=259
W (532) wifi:invalid rate, need change phy mode to LR
代码如下:
    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); // WIFI_STORAGE_FLASH  WIFI_STORAGE_RAM
    ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_NONE));
    ESP_ERROR_CHECK(esp_wifi_set_protocol(ESP_IF_WIFI_STA, WIFI_PROTOCOL_LR));
    // esp_wifi_config_80211_tx_rate(ESP_IF_WIFI_STA, WIFI_PHY_RATE_LORA_250K);
或者
   // esp_wifi_config_espnow_rate(ESP_IF_WIFI_STA, WIFI_PHY_RATE_LORA_250K);
都测试过,日志是一样的。
                     

回帖(1)

贾伟刚

2024-6-27 16:48:20
关于您遇到的问题,我建议您尝试以下步骤来解决:

1. 确保您的ESP32-C3芯片支持ESP-NOW协议。ESP32-C3是支持ESP-NOW的,所以这一点应该没问题。

2. 检查您的ESP-IDF版本是否与ESP32-C3芯片兼容。您提供的日志显示使用的是v5.01版本,这个版本应该可以正常工作。

3. 在初始化Wi-Fi之前,确保您已经正确配置了Wi-Fi初始化配置。您提供的代码片段中,您已经使用了`WIFI_INIT_CONFIG_DEFAULT()`,这是正确的。

4. 由于ESP-NOW协议不支持WIFI_LR模式,您需要在初始化Wi-Fi之前,设置ESP-NOW协议支持的PHY模式。您可以使用以下代码片段来设置PHY模式:

```c
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
cfg.phy_mode = WIFI_PHY_MODE_11G; // 设置PHY模式为11G
esp_wifi_init(&cfg);
esp_wifi_set_mode(WIFI_MODE_STA);
esp_wifi_start();
```

举报

更多回帖

发帖
×
20
完善资料,
赚取积分