FreeRTOS基础九:任务通知

简介

总体上来说,FreeRTOS应用由多个任务和中断函数构成。任务与任务,任务与中断函数之间可能需要通信或者同步。前面我们已经介绍了使用一些通信媒介对象,如队列,事件组以及信号量来完成通信或者同步。

通过队列,事件组以及信号量来完成通信,都需要创建一个通信媒介对象,通信的内容会经过这个通信媒介对象来传递,例如任务A向队列中放数据,然后队列B从队列中读取数据。这种通信方式属于间接通信。如下图所示。

本章介绍的任务通知(Task Notifications)技术,属于直接通信技术,它不需要通信媒介对象,而是直接将事件通知或者通信数据发送到某一个任务。任务通知主要是用于在一个任务或ISR中向另一个任务发送某种事件的通知或者传递某种数据,实现同步及通信

1、任务通知机制是在FreeRTOS V8.1.2引入的技术,于2015年初发布。

2、对于FreeRTOS V10.4.0之前的版本,每个任务只能一个任务通知量,也就是只能通知一种信息,而从FreeRTOS V10.4.0开始,每个任务可以有一组任务通知量,这使得任务通知传递的信息更丰富,使用的场景场合更多。

3、在版本FreeRTOS V1.2.0中,推出了信号量机制,FreeRTOS中的信号量是对队列的简单封装,信号量本质上就是队列,所以信号量是高成本的。考虑到兼容性,FreeRT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值