0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeTRTOS可以通过哪些方法向接收任务更新通知呢

工程师邓生 来源:硬件会 作者:硬件会 2022-09-15 09:28 次阅读

每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务可以解除阻塞状态,前提是这个阻塞事件是因等待通知而引起的。

发送通知的同时,也可以可选的改变接收任务的通知值。

可以通过下列方法向接收任务更新通知: 不覆盖接收任务的通知值 覆盖接收任务的通知值 设置接收任务通知值的某些位 增加接收任务的通知值

ca3ba788-3492-11ed-ba43-dac502259ad0.png

一个任务可以有多个通知,一个通知都有32bit的值,和一个state是8bit,state状态确定有没有被处理。

我们不能对stats进行直接的读写操作,是系统自动的,我们只能对notification value 进行操作。

直接任务通知是,任务A直接改变任务B的Notifiction的值。

设置NotifictionValue:

ca5ad7fc-3492-11ed-ba43-dac502259ad0.png

读取NotifictionValue:

ca8547da-3492-11ed-ba43-dac502259ad0.png

举例:

caaa29ec-3492-11ed-ba43-dac502259ad0.png

cada4b40-3492-11ed-ba43-dac502259ad0.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FreeRTOS
    +关注

    关注

    12

    文章

    474

    浏览量

    61522

原文标题:FreeTRTOS 直接任务通知

文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    freertos串口接收数据后如何发送给任务

    最大长度? 如果用二值信号量,是不是就等于是中断程序接收完后发送信号量通知任务处理数组?这样的话,在任务处理过程中,串口又接收到新的数据怎
    发表于 04-18 06:36

    转:第24章 FreeRTOS任务计数信号量

    变量,用于记录任务的相关信息。结构体变量中有一个32位的变量成员ulNotifiedValue是专门用于任务通知的。通过任务
    发表于 09-07 06:43

    任务通知的问题如何解决

    在一个最高优先级任务1里面发送通知:xTaskNotify((TaskHandle_t)BatTask_Handler,//接收任务通知的电
    发表于 07-13 10:36

    有什么方法可以查看FreeRTOS任务的运行状态

    有什么方法可以查看FreeRTOS任务的运行状态?怎样去查看FreeRTOS任务的运行状态
    发表于 11-02 07:59

    如何以及何时可以使用任务通知代替通信对象

    9.1本章介绍与范围已经看到,使用FreeRTOS的应用程序被构造为一组独立的任务,并且这些任务很可能必须彼此通信,以便它们可以共同提供有用的系统功能。通过中介对象进行通信本书已经描述
    发表于 02-08 06:21

    使用FreeRTOS通知功能加速应用执行

    中读取信息。当使用直接任务通知时,顾名思义,发送任务可以直接接收
    发表于 04-14 11:19

    有什么方法可以为TX队列配置AIOP的拥塞通知吗?

    :4306, QBMAN] The qbman_attr is not for ccgr configure ”。对于 RX 队列,它似乎很好。有什么方法可以为 TX 队列配置 AIOP 的拥塞
    发表于 04-17 06:55

    FreeRTOS —— 9.任务通知

    9.1本章介绍与范围已经看到,使用FreeRTOS的应用程序被构造为一组独立的任务,并且这些任务很可能必须彼此通信,以便它们可以共同提供有用的系统功能。通过中介对象进行通信本书已经描述
    发表于 12-04 20:21 10次下载
    FreeRTOS —— 9.<b class='flag-5'>任务</b><b class='flag-5'>通知</b>

    FreeRTOS系列第14篇---FreeRTOS任务通知

    每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务
    发表于 01-26 17:49 5次下载
    FreeRTOS系列第14篇---FreeRTOS<b class='flag-5'>任务</b><b class='flag-5'>通知</b>

    FreeRTOS任务通知简介及实现

    每个系统任务都会有一个任务通知。然后每个任务通知都具有挂起或者未挂起的状态,以及32位的通知。常
    的头像 发表于 12-06 16:24 1671次阅读

    Free RTOS的任务通知-1

    每个任务都有一个32位的通知值,该值在创建任务时初始化为零。
    的头像 发表于 02-10 16:05 680次阅读
    Free RTOS的<b class='flag-5'>任务</b><b class='flag-5'>通知</b>-1

    Free RTOS的任务通知-2

    每个任务都有一个32位的通知值,该值在创建任务时初始化为零。
    的头像 发表于 02-10 16:08 643次阅读
    Free RTOS的<b class='flag-5'>任务</b><b class='flag-5'>通知</b>-2

    Free RTOS的任务通知-3

    每个任务都有一个32位的通知值,该值在创建任务时初始化为零。
    的头像 发表于 02-10 16:11 679次阅读
    Free RTOS的<b class='flag-5'>任务</b><b class='flag-5'>通知</b>-3

    FreeRTOS任务通知简介

    就会解除这个任务的阻塞状态。也可以更新接收任务任务通知
    的头像 发表于 07-30 11:34 569次阅读

    FreeRTOS任务通知通用发送函数

    发送任务通知 任务通知通用发送函数 任务任务通知
    的头像 发表于 07-30 11:43 560次阅读
    FreeRTOS<b class='flag-5'>任务</b><b class='flag-5'>通知</b>通用发送函数