欢迎光临散文网 会员登陆 & 注册

FreeRTOS笔记_ 队列集

2023-08-11 17:43 作者:自闭选手的Z23  | 我要投稿

一、队列集

1.1 队列集简介

        一个队列只允许任务间传递的信息为同一种数据类型,如果需要在任务间传递不同数据类型的信息时,可以使用队列集。

        用于对多个队列或信号量进行监听,其中不管哪一个消息到来,都可以让任务退出阻塞状态。

假设:有个接收任务,使用到队列接收和信号量的获取,如下:

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


二、队列集相关API函数

 队列集函数

2.1创建队列集:

2.2往队列集中添加队列:

要注意的时,队列在被添加到队列集之前,队列中不能有有效的消息

2.3队列集中移除队列

2.4任务中获取队列集中有有效消息的队列

队列集操作实验(掌握)

1、实验目的:学习 FreeRTOS 的队列集相关API的使用。

2、实验设计:将设计三个任务:start_task、task1、task2

三个任务的功能如下:

队列集使用流程

1、启用队列集功能需要将宏configUSE_QUEUE_SETS 配置为 1

2、创建队列集

3、创建队列或信号量

4、往队列集中添加队列或信号量

5、往队列发送信息或释放信号量

6、获取队列集的消息




FreeRTOS笔记_ 队列集的评论 (共 条)

分享到微博请遵守国家法律