下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

RTOS 任务通知
用作轻型邮箱

相关页面:


RTOS 任务通知可用于向任务发送数据, 但相比使用 RTOS 队列实现有一些限制,因为:

  1. 只能发送 32 位值
  2. 该值保存为接收任务的通知值 ,然后 在任何时间只能有一个通知值
因此,使用 “轻量级邮箱” 这个短语代替 “轻量级队列”。 任务的通知值就是邮箱值。

使用 xTaskNotify()(或 xTaskNotifyIndexed()) 和 xTaskNotifyFromISR()(或 xTaskNotifyIndexedFromISR ())API 函数将数据发给任务,其中函数的 eAction 参数设置为 eSetValueWithOverwrite 或 eSetValueWithoutOrwrite。 如果 eAction 设置为 eSetValueWithOverwrite, 则即使接收任务已有挂起的通知, 也会更新接收任务的通知值。 如果 eAction 设置为 eSetValueWithoutOverwrite, 则只有在接收任务没有挂起通知时才会更新接收任务的通知值, 因为更新通知值会在 接收任务处理之前覆盖以前的值。

任务可以使用 xTaskNotifyWait() (或 xTaskNotifyWaitIndexed())读取自己的通知值。

有关示例,请参阅相关 API 函数的文档。



Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.