ESP32-IDF开发实例-FreeRTOS-基于任务通知(任务邮箱)的任务间通信

本文介绍了如何在ESP32-IDF开发中利用FreeRTOS的任务通知(任务邮箱)进行任务间通信。通过示例展示了从硬件准备、软件配置到代码实现的全过程,包括向任务发送通知的不同方式,并强调了任务通知的灵活性和限制。重点讲解了`xTaskNotifyGive`和`xTaskNotifyWait`两个核心函数的使用。
摘要由CSDN通过智能技术生成

基于任务通知(任务邮箱)的任务间通信

在FreeRTOS中,任务邮箱实际上是消息队列固定长度为1的特殊形式。任务邮箱效率更高、占用RAM空间更小,更加灵活。

FreeRTOS提供了如果几种方式发送通知给任务:

  • 发送通知给任务,如果通知未读,不覆盖通知值
  • 发送通知给任务,直接覆盖通知值
  • 发送通知给任务,设置通知值的一个或多个位,可以当做事件组来使用
  • 发送通知给任务,递增通知值,可以当做计数信号量使用。

由此可以任务通知的灵活程度,但是任务通知也是有限制的:

  • 只能有一个任务接收通知消息,因为必须指定接收通知的任务
  • 只有等待通知的任务可以被阻塞,发送通知的任务,在任务情况下者不会因为发送失败而进入阻塞状态

本次实例将演示基于任务通知的任务间通信。

在这里插入图片描述

1、硬件准备

  • NodeMCU ESP32-S V3.0开发板一块
  • 数据线一条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉&物联智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值