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

实验58_任务通知替代队列_轻量级数据传递.docx

资料介绍

实验 58:任务通知替代队列 — 轻量级数据传递

实验说明

实验概述

任务通知不仅可以替代信号量和事件标志组,还可以通过 eSetValueWithOverwrite 或 eSetValueWithoutOverwrite 模式替代队列传递数据。虽然任务通知每次只能传递一个 32 位值,但对于只需要传递简单数据的场景,它比队列更高效(更快、更省内存)。

实验原理

xTaskNotify(handle, value, eSetValueWithOverwrite) 直接将 32 位值写入目标任务的通知值中,不需要经过队列的缓冲区和复制过程。接收方通过 xTaskNotifyWait() 读取通知值。这种方式避免了队列的内存分配和数据拷贝,效率更高。

关键知识点

1. 任务通知作为轻量级邮箱,替代长度为 1 的队列。

2. 只支持 32 位值,适合传递简单数据。

3. 比队列更快,但不支持多个数据的缓冲。

实验现象

发送任务每 2 秒通过任务通知发送一个 32 位数据,接收任务接收并处理。

完整代码

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


部分文件列表

文件名 大小
实验58_任务通知替代队列_轻量级数据传递.docx 38K

全部评论(0)

暂无评论

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

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载