推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验76_任务通知_精准控制单次触发.docx

更新时间:2026-09-13 12:05:21 大小:37K 上传用户:烟雨查看TA发布的资源 标签:FreeRTOSulTaskNotifyTakexClearOnExit任务通知单次触发 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 76:任务通知 — 精准控制单次触发

实验说明

实验概述

任务通知的 ulTaskNotifyTake() 函数的 xClearOnExit 参数控制通知值在退出时的行为。设置为 pdTRUE 时,退出时通知值被清零;设置为 pdFALSE 时,通知值减 1。本实验演示这两种模式的区别,以及如何根据场景选择合适的模式。

实验原理

当 xClearOnExit = pdTRUE 时,ulTaskNotifyTake() 返回当前通知值后清零,适用于"一次性处理所有累积事件"的场景。当 xClearOnExit = pdFALSE 时,通知值减 1,适用于"逐次处理每个事件"的场景。本实验通过两种模式对比,帮助读者理解其差异。

实验现象

发送任务连续发送 5 个通知,两种模式的接收任务分别处理,观察处理次数的差异。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include <stdio.h>

TaskHandle_t xClearTaskHandle = NULL;
TaskHandle_t xDecrementTaskHandle = NULL;

/* 发送任务:连续发送多个通知 */
static void vSenderTask(void *pvParameters)
{
    for (;;)


部分文件列表

文件名 大小
实验76_任务通知_精准控制单次触发.docx 37K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载