From b925ae972eaf038d5a56e71a6b5029fb417238dc Mon Sep 17 00:00:00 2001 From: panw Date: Thu, 21 May 2026 15:11:35 +0800 Subject: [PATCH] =?UTF-8?q?docs(project=5Frules):=20=E7=A7=BB=E9=99=A4ESP3?= =?UTF-8?q?2=E5=BC=80=E5=8F=91=E8=A7=84=E5=88=99=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将原有的ESP32-C3 ESP-IDF开发规则文档全部删除,仅保留基础配置框架 --- .trae/rules/project_rules.md | 40 +----------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/.trae/rules/project_rules.md b/.trae/rules/project_rules.md index cfc4b925..610523c5 100644 --- a/.trae/rules/project_rules.md +++ b/.trae/rules/project_rules.md @@ -1,42 +1,4 @@ --- alwaysApply: false -description: esp32嵌入式开发生效 +description: --- -# ESP32-C3 ESP-IDF 开发规则 - -仅在 ESP32 / ESP-IDF 相关开发中参考,保留关键结论如下: - -## 1. HTTP Server - -- `sdkconfig.defaults` 至少包含: - - `CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024` - - `CONFIG_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. 初始化顺序 - -- 必须按以下顺序初始化: - 1. `nvs_flash_init()` - 2. `esp_netif_init()` - 3. `esp_event_loop_create_default()` - 4. `esp_wifi_init()` -- 禁止在 `esp_wifi_init()` 之后再初始化 NVS。 - -## 5. 配网模式 - -- 配网阶段使用 `WIFI_MODE_AP`,不要使用 `WIFI_MODE_APSTA`。