当前位置:网站首页>1305_FreeRTOS的队列基本功能描述
1305_FreeRTOS的队列基本功能描述
2022-07-19 08:11:00 【grey_csdn】
全部学习汇总: GreyZhang/g_FreeRTOS: learning notes about FreeRTOS. (github.com)
这一次看一下FreeRTOS中的队列描述,至于代码实现可以后面找时间再做分析。其实之前自己折腾或者参与工作,FreeRTOS的队列还是用过很多的。队列的使用以及附加的消息传递功能的确给软件设计带来了很好的体验。
这个链接是官方的说明网页: Queues for task and interrupt message passing in FreeRTOS real time embedded software applications
上面的这个其实是一个动画,能够说明一个什么问题呢?首先,队列是先进先出的机制,其次,只要空间或者消息存在读写的动作其实是相对独立的操作。
关于这部分的描述其实很容理解,在之前的使用中其实我用的基本都是第一种模式。无论数据大小,我之前都是用了直接的数据拷贝。自然,之前的处理实现顺利其实是因为我所用的MCU的资源十分宽裕。其实,对于大一些的数据,可以采用传递指针的方式来实现。而这个机制也是FreeRTOS提供的网络库中采用的一种机制。其他的数据结构的处理其实也容易,因为收发的过程都是自己的软件逻辑,很容易定制灵活的机制来实现数据大小变化、数据类型变化等不同的需求。
FreeRTOS中的任务的状态有时候跟队列的操作有一定 关系,具体可以体现在队列处理导致的任务阻塞上。不管是对队列进行写操作还是读操作,都有可能因为队列的状态而导致阻塞状态的产生。如果一个任务对队列进行写操作,当队列满了的时候,负责写入的任务就会处于阻塞状态。直到队列有了新的空间或者阻塞时间到达或者超过了指定的超时时间。对于读取队列的任务来说也是类似的,但是读取的阻塞产生一般是发生在队列为空的时候。当队列为空的时候,任务阻塞。解除阻塞的条件就是队列中有了新的元素或者指定的超时时间到了。
之前的应用中,处理的前提条件还是很理想的。即使是CAN这样的数据并不算小的消息传递,我也用了完整的数据拷贝。这很安全,但是可能会有很高的资源消耗。
最近学习了一段时间的FreeRTOS之后,发现我疑惑的几个点现在都集中到了存储使用优化上了。看起来,接下来找一个监控以及调试的手段还是很迫切的事情了。
边栏推荐
- DOM系列之改变元素内容
- 2022 latest cloud development to watermark applet source code
- MySQL learning notes - stored procedures and functions
- 动环监控模块,动环监控模块分类
- How to demonstrate the quality of products in reverse?
- Remove the quotation marks that are numbers in the array
- Itextsharp quick use guide
- KVM deployment and Application
- Hcia-r & s self use notes (11) VRP file system, system management
- Why learn istio
猜你喜欢
DeFi 2.0的LaaS协议Elephant,重振DeFi赛道发展的关键
云呐-fsu动环监控单元,fsu动环监控单元是什么
DOM系列之样式属性操作
Exclusive thought of DOM series
HCIA-R&S自用笔记(12)路由基础、直连路由与静态路由
动态方程博弈相位图
DOM系列之排他思想
Why can't you restore your favorites by copying 360bookmarks to your new computer? Because it's encrypted, you can use 360sefav_ Date Favdb and 360default_ ori_ Date Favdb two favorite backup files im
【小程序】小游戏到底是个啥?
Dynamic equation game phase diagram
随机推荐
How much is the price of the moving ring monitoring system
一台好的产品需要「情绪价值」
Vs2017 opencv3.4.2 is compiled into x86 through the release version source code
Yunna FSU dynamic loop monitoring unit, what is FSU dynamic loop monitoring unit
Shell function array job
[applet] what is a small game?
什么是反向代理?
高斯数学——看动画学奥数
Style migration -- sanet: pay attention to any style conversion under the network
Weekly recommended short videos: put forward higher requirements for the elastic computing power of cloud computing
读论文:(YOLOv1)You Only Look Once:Unified, Real-Time Object Detection
Essential certificate for product manager!
DOM系列之DOM事件
DOM系列之改变元素内容
[wechat applet] checkbox (89/100)
DOM系列之DOM介绍及获取
Exclusive thought of DOM series
Dynamic ring monitoring module, dynamic ring monitoring module classification
分数阶pid控制和矢量控制永磁电机
MySQL learning notes - View