第12章 队列集QueueSet
约 259 字小于 1 分钟
2026-01-19
队列集概述:
队列集(Queue Set)是 FreeRTOS 中的一种数据结构,用于管理多个队列。
集中管理多个队列:队列集允许你将多个相关联的队列组织在一起,方便集中管理。
单一API调用:通过单一的 API 调用,任务可以同时操作多个队列,而无需分别处理每个队列。案例需求
创建1个队列,创建1个二进制信号量,将二者添加到队列集
task1:当按键 SW3 按下,往队列写入数据,当按键 SW4 按下,释放二进制信号量。
task2:读取队列集中的消息,并打印。相关宏
configUSE_QUEUE_SETS相关类型:
QueueSetHandle_t
QueueSetMemberHandle_t相关函数
xQueueCreateSet() 创建队列集
xQueueAddToSet() 队列添加到队列集中
xQueueRemoveFromSet() 从队列集中移除队列
xQueueSelectFromSet() 获取队列集中有有效消息的队列
xQueueSelectFromSetFromISR() 在中断中获取队列集中有有效消息的队列