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

电子说

1.3w人已加入

描述

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

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

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

FreeRTOS

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

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

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

设置NotifictionValue:

FreeRTOS

读取NotifictionValue:

FreeRTOS

举例:

FreeRTOS

FreeRTOS



审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分