freertos知识点笔记——队列、二值信号量、计数信号量
2023-09-11 14:15:08 时间
队列
1、队列queue通常用于任务之间的通信,一个任务写缓存,另一个任务读缓存。
队列还会有等待时间,
2、阻塞超时时间。如果在发送时队列已满,这个时间即是任务处于阻塞态等待队列空间有效的最长等待时间。
如 果 xTicksToWait 设 为 0 , 并 且 队 列 已 满 , 则xQueueSendToFront()与xQueueSendToBack()均会立即返回。
3、如果在接收时队列为空,则这个时间是任务处于阻塞状态以等待队列数据有效的最长等待时间。
如果 xTicksToWait 设为 0,并且队列为空,则 xQueueRecieve()与 xQueuePeek()均会立即返回。
信号量
二值信号量主要用于任务同步,二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。中断give,任务take。适用于中断频率比较底的同步当中。
计数信号量
一个二值信号量最多只可以锁存一个中断事件。在锁存的事件还未被处理之前,如果还有中断事件发生,那么后续发生的中断事件将会丢失。如果用计数信号量代替二值信号量,那么,这种丢中断的情形将可以避免。
相关文章
- 【c++STL——第五讲】queue系列 (常用知识点总结)
- 神经网络与机器学习 笔记—基本知识点(下)
- 神经网络与机器学习 笔记—基本知识点(上)
- python爬虫知识点总结(二十四)Scrapy爬去知乎用户信息
- 你不知道的JSON.stringify知识点
- 1146 Topological Order (25 分)【难度: 一般 / 知识点: 拓扑排序 】
- 1028 List Sorting (25 分) 【难度: 简单 / 知识点: 排序】
- Android学习群群内分享:Android面试中的那些高频知识点解析
- Cookie 知识点再整理
- CSS,JavaScript知识点
- Flutter学习笔记(四)--Flutter几个小知识点
- JavaSE从入门到线程知识点总结笔记(完)
- Spring+Boot核心笔记(二):Web开发所需掌握知识点
- 计组 | 【四 指令系统】知识点及例题
- 计网 | 【四 网络层】知识点及例题
- 计算机网络知识点
- 2023年Nginx常考点,Nginx的常用知识点
- JavaScript大师必须掌握的12个知识点
- Android开发中目前流行控件和知识点总结