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

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

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

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

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

相关推荐
慧一居士1 小时前
论领域驱动DDD项目中 应用层 和 领域模型层 区别对比
系统架构
@卓越俊逸_角立杰出@2 小时前
深度拆解跨境支付系统架构:从资金流、账本系统到全球清算网络设计
网络·系统架构
@insist12320 小时前
系统架构设计师-软件质量属性战术与架构评估方法全解
架构·系统架构·软考·系统架构设计师·软件水平考试
@insist12320 小时前
系统架构设计师-五大经典软件架构风格详解与软考真题应用指南
架构·系统架构·软考·系统架构设计师·软件水平考试
雯宝1 天前
|____2.1 FreeRTOS 深度解析--链表
系统架构
RemainderTime1 天前
Spring Boot脚手架集成Sa-Token实现生产级RBAC权限管理
java·spring boot·后端·系统架构
@insist1232 天前
系统架构设计师-基于架构的软件开发方法(ABSD)核心原理
架构·系统架构·软考·系统架构设计师·软件水平考试
一切皆是因缘际会2 天前
底层重构与价值破壁人工智能产业变革
人工智能·安全·重构·系统架构
@insist1232 天前
系统架构设计师-软件架构核心概念与描述方法
系统架构·软件工程·软考·系统架构设计师·软件水平考试