在ESP32双核FreeRTOS中,高频中断到任务切换延迟主要来自信号量操作(如xSemaphoreGiveFromISR)的队列管理开销。替代方案:使用队列传递数据,结合任务通知(xTaskNotifyFromISR)触发任务。具体步骤:1)创建一个深度为N的队列,中断中调用xQueueSendFromISR将数据入队(非阻塞,若满则丢弃或计数);2)同时调用xTaskNotifyFromISR给目标任务发送通知(eSetBits或eIncrement),并请求切换(pxHigherPriorityTaskWoken);3)目标任务阻塞在ulTaskNotifyTake(pdTRUE, portMAX_DELAY)上,被唤醒后循环从队列取数据直到空。这样中断路径仅两次轻量API调用(队列发送+通知),避免了信号量的互斥/计数逻辑。注意:队列发送本身有临界区保护,但比信号量轻;若数据极小(如单字),可完全省略队列,直接用任务通知值传递数据(xTaskNotifyFromISR带值),进一步降低延迟。实测可减少约30%的中断响应时间。