阻塞延时的阻塞是指任务调用该延时函数后任务会被剥离 CPU 使用权然后进入阻塞状态直到延时结束任务重新获取 CPU 使用权才可以继续运行。在任务阻塞的这段时间CPU 可以去执行其它的任务如果其它的任务也在延时状态那么 CPU 就将运行空闲任务。(1)获取当前任务的任务控制块用于指向当前正在运行或者即将要运行的任务的任务控制块。(2)xTicksToDelay 是任务控制块的一个成员用于记录任务需要延时的时间单位为 SysTick 的中断周期。(3)任务切换。调用 tashYIELD()会产生 PendSV中断在 PendSV中断服务函数中会调用上下文切换函数 vTaskSwitchContext()该函数的作用是寻找最高优先级的就绪任务然后更新 pxCurrentTCB。