在ESP32双核Arduino环境中,loopTask运行在Core1,自定义FreeRTOS任务可能运行在Core0或Core1。共享SPI总线时,必须使用互斥量(如xSemaphoreCreateMutex)保护SPI传输。实测排查优先级反转:首先确认互斥量是否启用优先级继承(xSemaphoreCreateMutex默认启用)。若loopTask(优先级1)持有互斥量时被高优先级任务抢占,高优先级任务等待互斥量会导致优先级反转。建议:1) 使用xSemaphoreTake前检查返回值,避免死等;2) 在SPI传输前后加临界区或使用portMUX_TYPE;3) 将SPI操作封装为独立任务,通过队列串行化访问;4) 用uxTaskPriorityGet和vTaskPrioritySet动态调整任务优先级。实测时用逻辑分析仪抓SPI片选信号,结合FreeRTOS的uxTaskGetSystemState查看任务阻塞时间,确认是否发生优先级反转。若反转严重,可启用configUSE_MUTEXES和configUSE_PRIORITY_INHERITANCE。