阻塞延时的阻塞是指任务调用该延时函数后,任务会被剥离 CPU 使用权,然后进入阻塞状态,直到延时结束,任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间,CPU 可以去执行其它的任务,如果其它的任务也在延时状态,那么 CPU 就将运行空闲任务。
(1)获取当前任务的任务控制块,用于指向当前正在运行或者即将要运行的任务的任务控制块。
(2)xTicksToDelay 是任务控制块的一个成员,用于记录任务需要延时的时间,单位为 SysTick 的中断周期。
(3)任务切换。调用 tashYIELD()会产生 PendSV中断,在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext(),该函数的作用是寻找最高优先级的就绪任务,然后更新 pxCurrentTCB。
|____2.4 FreeRTOS 深度解析--阻塞延时
雯宝2026-06-03 9:45
相关推荐
黄俊懿2 小时前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述江屿风4 小时前
【Linux-System】【System V共享内存:从原理到实战的完整解析】流食般投喂小马哥编程14 小时前
【软考架构】内聚与耦合burg_xun18 小时前
【生命科学 Agent】推理平台(二)gz927cool1 天前
在 Harness 上搭建 Agent-Native 应用:可迁移经验桃花键神1 天前
GR00T N1 —— 双系统架构如何让一个模型驱动不同人形机器人我喜欢就喜欢2 天前
豆包赋能抖音生态:从内容创作到运营提效的全景应用dishugj2 天前
https://blog.csdn.net/dishugj/article/details/162068579希赛网2 天前
2026下半年系统架构设计师考前20问