ESP32-S3 双核(Core0 协议栈、Core1 应用)默认 Wi-Fi 任务在 Core0,用户任务若也跑 Core0 会争抢。实战建议:1) 用 xTaskCreatePinnedToCore 将用户任务固定到 Core1,Wi-Fi 任务保持 Core0;2) 用户任务中避免长时间关中断或高优先级死循环,否则会阻塞 Wi-Fi 底层;3) 若必须跨核通信,用队列或信号量,不要直接共享变量;4) 调整 Wi-Fi 任务优先级(通常 23),用户任务优先级低于它,但关键实时任务可设更高并短小;5) 启用 CONFIG_ESP32_WIFI_IRAM_OPT 和动态缓冲区,减少内存争用。实测:将 LVGL 刷新任务固定 Core1 后,Wi-Fi 吞吐提升 30% 且无断连。
mcuku 阿沐 · 2026-09-29