|____2.4 FreeRTOS 深度解析--阻塞延时

  阻塞延时的阻塞是指任务调用该延时函数后,任务会被剥离 CPU 使用权,然后进入阻塞状态,直到延时结束,任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间,CPU 可以去执行其它的任务,如果其它的任务也在延时状态,那么 CPU 就将运行空闲任务。

(1)获取当前任务的任务控制块,用于指向当前正在运行或者即将要运行的任务的任务控制块。

(2)xTicksToDelay 是任务控制块的一个成员,用于记录任务需要延时的时间,单位为 SysTick 的中断周期。

(3)任务切换。调用 tashYIELD()会产生 PendSV中断,在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext(),该函数的作用是寻找最高优先级的就绪任务,然后更新 pxCurrentTCB。

相关推荐
youngerwang13 小时前
【系统架构案例分析每日深耕 Day 5】解释器/规则引擎架构在风控系统中的应用
系统架构·解释器模式·案例分析·风控系统
粟悟饭&龟波功13 小时前
【一】软件工程核心概念层级地图与项目落地全流程
系统架构·软件工程
Alex Gram2 天前
双机热备软件哪个好
java·系统架构·c#·keepalived·高可用·双机热备·双机热备软件
Sam_Deep_Thinking2 天前
一个靠谱的C端网关服务应该包含什么内容
java·程序员·系统架构
phltxy2 天前
多智能体系统架构设计:从单体代理到协作网络
python·langchain·系统架构
微三云 - 廖会灵 (私域系统开发)2 天前
消费返物业费平台搭建:美家时代商业模式拆解与系统开发选型指南
小程序·系统架构
回眸不遇3 天前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
书签12363 天前
产教融合的技术解法:AI数字孪生驱动的校企协同育人系统架构与实践
人工智能·系统架构
AI砖家4 天前
多商户多租户系统架构设计文档(Java版)
java·开发语言·系统架构·多租户·多商户
我命由我123454 天前
Windows 操作系统 - 符号链接
linux·运维·windows·系统架构·操作系统·运维开发·系统