阻塞延时的阻塞是指任务调用该延时函数后,任务会被剥离 CPU 使用权,然后进入阻塞状态,直到延时结束,任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间,CPU 可以去执行其它的任务,如果其它的任务也在延时状态,那么 CPU 就将运行空闲任务。
(1)获取当前任务的任务控制块,用于指向当前正在运行或者即将要运行的任务的任务控制块。
(2)xTicksToDelay 是任务控制块的一个成员,用于记录任务需要延时的时间,单位为 SysTick 的中断周期。
(3)任务切换。调用 tashYIELD()会产生 PendSV中断,在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext(),该函数的作用是寻找最高优先级的就绪任务,然后更新 pxCurrentTCB。
|____2.4 FreeRTOS 深度解析--阻塞延时
雯宝2026-06-03 9:45
相关推荐
圣殿骑士-Khtangc17 小时前
传统单体架构改造方案实战:从单体地狱到模块化架构的渐进式演进消失的旧时光-19431 天前
第七篇:RTK + 地图 + 机器人:完整定位系统架构解析一几文2 天前
2026年5月软考高级系统架构设计师考试真题回顾解析-综合知识1zhaoshuzhaoshu2 天前
Zephyr 实时操作系统详细介绍小帽子_1232 天前
EMS 完整系统架构分层详解:感知层、通信层、控制层、应用层小帽子_1232 天前
储能EMS工作原理深度剖析:功率分配与充放电策略的底层逻辑网络工程小王2 天前
[智能对话系统架构设计文档]幻风_huanfeng2 天前
软考:高级软件架构师学习笔记----软件架构设计Curvatureflight2 天前
客户端日志上报怎么设计?让线上问题不再只靠用户截图小帽子_1234 天前
储能热失控传播机理分析:从单体故障到整站起火的全过程解析