先确认乱序是“字符交错”还是“行序颠倒”。若是字符交错,根因通常是多任务同时调用printf/ESP_LOG,底层UART写非原子。排查:1) 检查是否两个核都在打印,用xPortGetCoreID()打印核号验证;2) 用互斥量包裹打印,或改用esp_log_level_set配合单任务日志队列;3) 确认CONFIG_FREERTOS_UNICORE未误开。若是行序颠倒,说明任务调度时序问题,打印本身没错,需在关键点加时间戳(esp_timer_get_time)判断真实执行顺序。另外注意:xTaskCreatePinnedToCore只固定任务运行核,不保证优先级和抢占顺序;高优先级任务仍可抢占同核低优先级任务。建议用队列把日志集中到一个低优先级打印任务,彻底避免并发写UART。