ESP32-S3 双核下,Wi-Fi 协议栈默认运行在 Core 0(PRO_CPU),且其任务优先级通常高于普通应用任务。为避免看门狗触发和延迟抖动,建议:1)将非实时应用任务绑定到 Core 1(APP_CPU),使用 xTaskCreatePinnedToCore 并设置合适优先级(如 5~10),避免与 Wi-Fi 任务争抢 Core 0;2)Wi-Fi 任务本身不要修改优先级,但可调整其任务栈大小(通过 menuconfig 中 Wi-Fi 任务栈配置)以降低溢出风险;3)启用任务看门狗(TWDT)并仅监控应用任务,空闲任务和 Wi-Fi 任务不加入监控,防止误触发;4)对延迟敏感任务使用 vTaskDelayUntil 或高精度定时器,并确保其优先级高于同核其他任务;5)若必须使用 Core 0,则通过 xTaskCreatePinnedToCore 设置亲和性并降低优先级,同时增大 configTICK_RATE_HZ(如 1000Hz)以减小调度粒度。实测中,将应用任务固定到 Core 1 后,Wi-Fi 吞吐抖动可降低 30% 以上。
mcuku 阿沐 · 2026-10-12