ESP32-S3 是双核 Xtensa LX7,默认 Wi-Fi 协议栈跑在 Core0,应用任务由 FreeRTOS 调度。实测建议:将实时控制任务用 xTaskCreatePinnedToCore 绑定到 Core1,优先级设为高于 Wi-Fi 任务(如 configMAX_PRIORITIES-2),Wi-Fi 协议栈保持 Core0。对比数据:未绑核时,Wi-Fi 收发突发会导致控制环抖动 200~500µs;绑核后抖动可压到 20~50µs(取决于是否关中断和缓存命中)。注意:1) 双核共享 PSRAM 和 Cache,Core1 访问 Flash 时仍可能被 Core0 的 Wi-Fi 中断抢占,建议把控制代码放 IRAM;2) Wi-Fi 任务优先级不要低于 tskIDLE,否则会饿死协议栈;3) 用 esp_timer 或 GPIO 翻转测抖动,避免 Serial 打印干扰。若控制周期 <1ms,建议关闭 Wi-Fi 省电模式并固定 CPU 频率 240MHz。
mcuku 阿沐 · 2026-10-09