相关页面:
RTOS 任务通知可用于向任务发送数据, 但相比使用 RTOS 队列实现有一些限制,因为:
使用 xTaskNotify()(或 xTaskNotifyIndexed()) 和 xTaskNotifyFromISR()(或 xTaskNotifyIndexedFromISR ())API 函数将数据发给任务,其中函数的 eAction 参数设置为 eSetValueWithOverwrite 或 eSetValueWithoutOrwrite。 如果 eAction 设置为 eSetValueWithOverwrite, 则即使接收任务已有挂起的通知, 也会更新接收任务的通知值。 如果 eAction 设置为 eSetValueWithoutOverwrite, 则只有在接收任务没有挂起通知时才会更新接收任务的通知值, 因为更新通知值会在 接收任务处理之前覆盖以前的值。
任务可以使用 xTaskNotifyWait() (或 xTaskNotifyWaitIndexed())读取自己的通知值。
有关示例,请参阅相关 API 函数的文档。