首页 > 试题广场 >

在一个高频串口接收中断中,需要把收到的字节投递到队列并尽快唤

[单选题]
在一个高频串口接收中断中,需要把收到的字节投递到队列并尽快唤醒一个更高优先级的处理任务。下列做法最合适的是哪一个?
  • 在ISR中调用xQueueSend,并用taskENTER_CRITICAL/EXIT包裹,发送后等待队列空位
  • 在ISR中调用xQueueSendFromISR,并根据返回的“是否唤醒了更高优先级任务”标志调用对应的从ISR触发切换的宏,必要时立即触发一次上下文切换
  • 在ISR中直接调用taskYIELD以强制切走,再在任务中投递队列
  • 在ISR中调用vTaskDelay(0)让出CPU以便尽快切换到高优先级任务

这道题你会答吗?花几分钟告诉大家答案吧!