阻塞延时的阻塞是指任务调用该延时函数后,任务会被剥离 CPU 使用权,然后进入阻塞状态,直到延时结束,任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间,CPU 可以去执行其它的任务,如果其它的任务也在延时状态,那么 CPU 就将运行空闲任务。
(1)获取当前任务的任务控制块,用于指向当前正在运行或者即将要运行的任务的任务控制块。
(2)xTicksToDelay 是任务控制块的一个成员,用于记录任务需要延时的时间,单位为 SysTick 的中断周期。
(3)任务切换。调用 tashYIELD()会产生 PendSV中断,在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext(),该函数的作用是寻找最高优先级的就绪任务,然后更新 pxCurrentTCB。
|____2.4 FreeRTOS 深度解析--阻塞延时
雯宝2026-06-03 9:45
相关推荐
Cicada12843 分钟前
复杂度到底从哪来的?ZJU_统一阿萨姆1 天前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化ZJU_统一阿萨姆2 天前
【算子开发】扫描(Scan)与前缀和skr爱码士2 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分一几文3 天前
2026年上半年软考高级-系统架构设计师考试真题回顾与解析-综合知识选择题6海水冷却3 天前
私有化 vs 混合云 vs 公有云:双录系统架构怎么选Cicada1283 天前
为什么从 demo 到生产路还很长?一次数据拉取功能的复杂度演进复盘xcl09253 天前
树洞社交应用的系统架构设计与匿名实现智购科技无人售货机工厂3 天前
2026自动售货机支付系统架构演进:从超时重试到异步补偿的支付成功率优化~YH鲁邦通物联网3 天前
出海物联网设备的全球化网络接入与合规脱敏架构:基于 Node-RED 与 C++ 零拷贝的边缘系统设计