1.4 KiB
1.4 KiB
alwaysApply, description
| alwaysApply | description |
|---|---|
| false | esp32嵌入式开发生效 |
ESP32-C3 ESP-IDF 开发规则
仅在 ESP32 / ESP-IDF 相关开发中参考,保留关键结论如下:
1. HTTP Server
sdkconfig.defaults至少包含:CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024CONFIG_HTTPD_MAX_URI_LEN=512
- 修改
sdkconfig.defaults后,如已有sdkconfig,需同步处理并重新编译。 httpd任务栈建议设为8192。httpd_req_recv()读取 POST 数据必须循环收完,按content_len分配缓冲区,并在结束后释放内存。
2. 表单处理
- 所有
application/x-www-form-urlencoded表单参数必须先做 URL 解码再使用。 - 应封装统一的
url_decode()/get_param()工具函数。 - 禁止直接用
strstr+strchr手动截取参数值。
3. WiFi 连接
- 不要硬编码
WIFI_AUTH_WPA2_PSK,优先使用兼容性更好的认证模式。 - 空密码时使用
WIFI_AUTH_OPEN。 - 启动时仅在 SSID 和密码都有效时尝试连接,否则进入配网模式。
- 日志中输出断开原因和密码长度,不输出密码明文。
4. 初始化顺序
- 必须按以下顺序初始化:
nvs_flash_init()esp_netif_init()esp_event_loop_create_default()esp_wifi_init()
- 禁止在
esp_wifi_init()之后再初始化 NVS。
5. 配网模式
- 配网阶段使用
WIFI_MODE_AP,不要使用WIFI_MODE_APSTA。