每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务可以解除阻塞状态,前提是这个阻塞事件是因等待通知而引起的。
发送通知的同时,也可以可选的改变接收任务的通知值。
可以通过下列方法向接收任务更新通知: 不覆盖接收任务的通知值 覆盖接收任务的通知值 设置接收任务通知值的某些位 增加接收任务的通知值
一个任务可以有多个通知,一个通知都有32bit的值,和一个state是8bit,state状态确定有没有被处理。
我们不能对stats进行直接的读写操作,是系统自动的,我们只能对notification value 进行操作。
直接任务通知是,任务A直接改变任务B的Notifiction的值。
设置NotifictionValue:
读取NotifictionValue:
举例:
审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FreeRTOS
+关注
关注
12文章
474浏览量
61522
原文标题:FreeTRTOS 直接任务通知
文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
freertos串口接收数据后如何发送给任务?
最大长度?
如果用二值信号量,是不是就等于是中断程序接收完后发送信号量通知任务处理数组?这样的话,在任务处理过程中,串口又接收到新的数据怎
发表于 04-18 06:36
转:第24章 FreeRTOS任务计数信号量
变量,用于记录任务的相关信息。结构体变量中有一个32位的变量成员ulNotifiedValue是专门用于任务通知的。通过任务
发表于 09-07 06:43
如何以及何时可以使用任务通知代替通信对象
9.1本章介绍与范围已经看到,使用FreeRTOS的应用程序被构造为一组独立的任务,并且这些任务很可能必须彼此通信,以便它们可以共同提供有用的系统功能。通过中介对象进行通信本书已经描述
发表于 02-08 06:21
有什么方法可以为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>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
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>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论