FreeRTOS中任务状态与任务优先级

任务状态
freertos 中的任务永远处于下面几个状态中的某一个:
● 运行态
当一个任务正在运行时,那么就说这个任务处于运行态,处于运行态的任务就是当前正在使用处理器的任务。如果使用的是单核处理器的话那么不管在任何时刻永远都只有一个任务处于运行态。
● 就绪态
处于就绪态的任务是那些已经准备就绪(这些任务没有被阻塞或者挂起),可以运行的任务,但是处于就绪态的任务还没有运行,因为有一个同优先级或者更高优先级的任务正在运行!
● 阻塞态
如果一个任务当前正在等待某个外部事件的话就说它处于阻塞态,比如说如果某个任务调用了函数
vtaskdelay()的话就会进入阻塞态,直到延时周期完成。任务在等待队列、信号量、事件组、通知或互斥信号量的时候也会进入阻塞态。任务进入阻塞态会有一个超时时间,当超过这个超时时间任务就会退出阻塞态,即使所等待的事件还没有来临!
● 挂起态
像阻塞态一样,任务进入挂起态以后也不能被调度器调用进入运行态,但是进入挂起态的任务没有超时时间。任务进入和退出挂起态通过调用函数vtasksuspend()和 xtaskresume()。任务状态之间的转换如图所示:
4、任务优先级
每 个 任 务 都 可 以 分 配 一 个 从 0~(configmax_priorities-1) 的 优 先 级
,configmax_priorities 在文件 freertosconfig.h 中有定义,一般不超过 32。
优先级数字越低表示任务的优先级越低,0 的优先级最低,configmax_priorities-1 的优先级最高。空闲任务的优先级最低,为0。(注意和中断的优先级区分,任务和中断不一样,中断一般是数字越小优先级越大)
当宏 configuse_time_slicing 定义为 1 的时候多个任务可以共用一个优先级,数量不限。

计算电磁学与仿真软件
中国联通5G AIoT智能模组 “运营商历史第一标” 由美格智能独家中标
!!租售/收购/维修E5515C手机综测E5515C小兵/雷
4A锂离子电池充电器接受32V输入
C++在嵌入式应用中的安全问题
FreeRTOS中任务状态与任务优先级
OPPOR11什么时候上市?OPPOR11最新消息:OPPOR11登上了天猫手机热度榜,这到底意味着什么?
希荻微上市首份财报:2022年亏损千万元,加速布局车规级电源芯片
led可能出现的问题以及处理方法
亚马逊否认“退出中国”
Murata MEMS表面贴装谐振器助于进一步降低PCB的整体尺寸和成本
常见四种电容器的类型以及应用说明
浅析无人机在安防领域的应用
明年出货400万台HomePod智能音箱,苹果公司再博眼球
广达董事长:AI PC可能在2024年夏天问世,看好前景
华特股份:突破核心关键技术 特种气体进口替代有望加速
2018下半年,车联网领域热闹异常
电子测试工程师如何远程快速解决设备问题
贾跃亭将辞去CEO职务,出任CPUO
Obsess推出Magic Leap AR购物软件 可以创建虚拟弹出式商店