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

实验42_任务通知模拟事件标志组.docx

更新时间:2026-09-13 11:57:53 大小:38K 上传用户:烟雨查看TA发布的资源 标签:FreeRTOSTask NotificationEvent FlagseSetBitsxTaskNotifyWait 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 42:任务通知模拟事件标志组

实验说明

实验概述

任务通知不仅可以用作轻量级信号量,还可以通过 eSetBits 操作模式模拟事件标志组的功能。每个任务的通知值是一个 32 位变量,可以将其中的不同位定义为不同的事件,通过按位或操作来设置多个事件位。接收任务通过 xTaskNotifyWait() 等待并读取通知值,检查哪些事件位被设置。

实验原理

xTaskNotify() 的 eSetBits 操作模式会将指定的位与目标任务的通知值进行按位或运算。接收任务调用 xTaskNotifyWait() 时,可以获取通知值并检查哪些位被设置。这样,一个任务的通知值就可以像事件标志组一样,同时管理多达 32 个独立事件。

关键知识点

1. xTaskNotify(handle, value, eSetBits) 设置事件位。

2. xTaskNotifyWait() 接收并检查事件位。

3. 任务通知模拟事件组比真实事件组更轻量,但只支持一对一通信。

实验现象

按键 1 设置事件位 0,按键 2 设置事件位 1,接收任务等待两个事件位都设置后执行。

完整代码

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


部分文件列表

文件名 大小
实验42_任务通知模拟事件标志组.docx 38K

全部评论(0)

暂无评论

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

  • 打赏
  • 30日榜单

推荐下载