阻塞延时的阻塞是指任务调用该延时函数后,任务会被剥离 CPU 使用权,然后进入阻塞状态,直到延时结束,任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间,CPU 可以去执行其它的任务,如果其它的任务也在延时状态,那么 CPU 就将运行空闲任务。
(1)获取当前任务的任务控制块,用于指向当前正在运行或者即将要运行的任务的任务控制块。
(2)xTicksToDelay 是任务控制块的一个成员,用于记录任务需要延时的时间,单位为 SysTick 的中断周期。
(3)任务切换。调用 tashYIELD()会产生 PendSV中断,在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext(),该函数的作用是寻找最高优先级的就绪任务,然后更新 pxCurrentTCB。
|____2.4 FreeRTOS 深度解析--阻塞延时
雯宝2026-06-03 9:45
相关推荐
艺杯羹3 小时前
告别碎片化ToolCall:Model Context Protocol (MCP) 核心机理与私有数据总线落地实战奔跑的架构师13 小时前
[A-50]ARMv9/v8-DVFS系统架构跨境数据猎手13 小时前
参考pandabuy淘宝代购与集运系统架构设计AI产品测评官15 小时前
从L3寻源智能体到全链路闭环ATS:拆解世纪云猎新一代AI招聘系统架构奔跑吧树袋熊1 天前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍励志不掉头发的内向程序员1 天前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制XiaoZhenHua981 天前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件XiaoZhenHua981 天前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计粉色大象1 天前
handdrawn‑architecture‑video:开源SVG架构图转手绘4K动画视频|本地AI Agent Skill微三云 - 廖会灵 (私域系统开发)1 天前
私域团购系统架构设计:五级定价、自动结算与三级合规的技术实现