在 ESP32-S3 双核下,Wi-Fi 任务默认运行在 Core 0,且优先级较高(如 23)。若自定义任务也放在 Core 0 且优先级接近,Wi-Fi 突发处理会抢占导致抖动。建议:1) 将自定义实时任务用 xTaskCreatePinnedToCore 绑定到 Core 1,避免与 Wi-Fi 同核竞争;2) 自定义任务优先级设为低于 Wi-Fi 任务但高于空闲任务(如 5~10),确保 Wi-Fi 优先响应;3) 若必须同核,使用 vTaskPrioritySet 动态调整,或在 Wi-Fi 空闲时执行关键段;4) 关闭不必要的 Wi-Fi 省电模式(esp_wifi_set_ps(WIFI_PS_NONE)),减少唤醒抖动;5) 使用高精度定时器或 GPIO 触发测量实际抖动,并配合 configTICK_RATE_HZ 提高到 1000Hz 以上。实测中,双核绑定后抖动可从数百微秒降至 50~80us。注意:Core 1 也需避免频繁中断,可禁用看门狗或调整中断优先级。
mcuku 阿沐 · 2026-10-05