![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
freerots
文章平均质量分 67
ryh2004812
不知道哎
展开
-
freerots学习(十)任务通知
FreeRTOS从版本V8.2.0开始提供任务通知这个功能,每个任务都有一个32位的通知值。按照FreeRTOS官方的说法,使用消息通知比通过二进制信号量方式解除阻塞任务快45%, 并且更加省内存(无需创建队列)。在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件标志组,可以替代长度为1的队列(可以保存一个32位整数或指针值),并且任务通知速度更快、使用的RAM更少!原创 2024-01-30 23:48:04 · 435 阅读 · 1 评论 -
freerots学习(九)事件标志组
是一组事件标志位的集合, 可以简单的理解事件标志组,就是一个整数。位无符号的数据类型变量来存储事件标志, 但其中的高。位用作存储事件标志 ,所以说一个事件组最多可以存储。KEY2 都按过,则执行 task2。:表明某个事件是否发生,联想:全局变量。通常按位表示,每一个位表示一个。创建一个事件标志组和两个任务(位用作存储事件标志组的。事件标志组本质是一个。检测按键,如果检测到。原创 2024-01-30 11:20:47 · 421 阅读 · 1 评论 -
FreeROTS学习(一)
作为一个轻量级的操作系统,功能包括:任务管 理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满 足较小系统的需要。操作系统是完全免费的操作系统,具有源码公开、可移 植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为 10.4.4版。是个无情的战斗机器,可以快速在两个乃至多个任务间快速切换,并且不觉得劳累,实现。每个任务都是独立运行的,互不影响,由于切换的频率很快,就感觉像是同时运行的一样。不是指某一个确定的系统,而是指一类操作系统。原创 2024-01-22 23:18:31 · 502 阅读 · 0 评论 -
freerots学习(二)任务的创建和删除
1. 在 SYS 选项里,将 Debug 设为 Serial Wire ,并且将 Timebase Source 设为 TIM2 (其它定。动态创建任务的堆栈由系统分配,而静态创建任务的堆栈由用户自己传递。:指向任务函数的指针,任务必须实现为永不返回(即连续循环);:任务的名字,主要是用来调试,默认情况下最大长度是。线程,创建一个任务,就会在内存开辟一个空间。:用于返回已创建任务的句柄可以被引用。玩游戏、陪女朋友,都可以视为任务。、谷歌浏览器、记事本,都是任务。:指定的任务栈的大小;3. 时钟按下图配置。原创 2024-01-27 14:44:30 · 371 阅读 · 0 评论 -
freerots学习(三)任务调度
还有一种调度规则是协程式调度,但官方已明确表示不更新,主要是用在小容量的芯片上,用得。处于就绪态的任务是指那些能够运行(没有被阻塞和挂起),但是当前没有运行的任务,因为同。如果一个任务因延时,或等待信号量、消息队列、事件标志组等而处于的状态被称之为阻塞态。高优先级抢占低优先级任务,系统永远执行最高优先级的任务(即。对指定任务进行挂起,挂起后这个任务将不被执行,高优先级任务不停止,低优先级任务无法执行;的使用权被这个任务占用(同一时间仅一个任务。同等优先级任务,轮流执行,时间片流转;高优先级任务,优先执行;原创 2024-01-27 16:05:50 · 518 阅读 · 0 评论 -
freerots学习(四)队列
队列又称消息队列,是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递信息。为什么不使用全局变量?如果使用全局变量,兔子(任务1)修改了变量a,等待树獭(任务3)处理,但树獭处理速度很慢,在处理数据的过程中,狐狸(任务2)有可能又修改了变量a,导致树獭有可能得到的不是正确的数据。在这种情况下,就可以使用队列。兔子和狐狸产生的数据放在流水线上,树獭可以慢慢一个个依次处理。关于队列的几个名词:原创 2024-01-27 22:42:41 · 344 阅读 · 0 评论 -
freerots学习(五)二值信号量
信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用,然后我们的量还可以。),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代。态,当我们的那个量没有限制的时候,它就可以被称作为计数型信号量。互斥访问:比如门钥匙,只有获取到钥匙才可以开门。的时候,它就可以被称作二值信号量,只有两个状。任务同步:比如我录完视频你才可以看视频。用来表示资源的数量,当我们的量只有。两种状态,通常情况下,我们用。信号量也是队列的一种。创建一个二值信号量,按下。,大小为零的队列,只有。原创 2024-01-29 00:13:04 · 189 阅读 · 0 评论 -
freertos学习(六)延时函数
这还需要解释吗?原创 2024-01-29 21:00:10 · 183 阅读 · 0 评论 -
freerots(七)计数型信号量
计数型信号量相当于队列长度大于1的队列,因此计数型信号量能够容纳多个资源,这在计数型信号量被创建的时候确定的。原创 2024-01-29 21:24:27 · 288 阅读 · 0 评论 -
freerots学习(八)互斥量
在多数情况下,互斥型信号量和二值型信号量非常相似,但是从功能上二值型信号量用于同步,而互斥型信号量用于资源保护。互斥型信号量和二值型信号量还有一个最大的区别,互斥型信号量可以有效解决优先级反转现象。原创 2024-01-29 22:29:46 · 368 阅读 · 0 评论