FreeRTOS笔记_ 队列集
一、队列集
1.1 队列集简介
一个队列只允许任务间传递的信息为同一种数据类型,如果需要在任务间传递不同数据类型的信息时,可以使用队列集。
用于对多个队列或信号量进行监听,其中不管哪一个消息到来,都可以让任务退出阻塞状态。
假设:有个接收任务,使用到队列接收和信号量的获取,如下:

使用队列集可以使该任务流程变成:

二、队列集相关API函数
队列集函数

2.1创建队列集:
2.2往队列集中添加队列:
要注意的时,队列在被添加到队列集之前,队列中不能有有效的消息
2.3队列集中移除队列
2.4任务中获取队列集中有有效消息的队列
3 队列集操作实验(掌握)
1、实验目的:学习 FreeRTOS 的队列集相关API的使用。
2、实验设计:将设计三个任务:start_task、task1、task2
三个任务的功能如下:

队列集使用流程
1、启用队列集功能需要将宏configUSE_QUEUE_SETS 配置为 1
2、创建队列集
3、创建队列或信号量
4、往队列集中添加队列或信号量
5、往队列发送信息或释放信号量
6、获取队列集的消息