02_FreeRTOS内部机制笔记之队列

本文详细阐述了队列在提高CPU利用率中的作用,涉及互斥的引入、队列结构体设计、核心操作如关中断、环形缓冲区和链表,以及读写流程和超时处理。通过实例和源码展示,深入讲解了并发控制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、互斥的引入

2、使用队列提高CPU利用率

3、队列结构体

4、队列的三个核心:关中断、环形缓冲区、链表

5、队列读、写流程

5.1 队列读流程 / 源码

5.2 队列写流程 / 源码

5.3 超时


1、互斥的引入

举个简单的例子:

在队列里,也可能存在这样的互斥问题:

解决方案:QueenSend( )函数,在写队列之前关闭中断

2、使用队列提高CPU利用率

使用标志位和使用队列相比,使用队列的优势:

3、队列结构体

4、队列的三个核心:关中断、环形缓冲区、链表

①关中断:

②环形缓冲区:

③链表操作:

5、队列读、写流程

5.1 队列读流程 / 源码

①流程图

这个过程能够防止读过程中,队列的数据被改变

②代码

5.2 队列写流程 / 源码

①流程图

这个过程防止写过程中,被两个任务同时写,产生竞争

②代码

5.3 超时

(这里韦老师的截图很好,就直接用韦老师的截图了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值