13.7.1 挂起任务

更新于 2026年10月10日 版权声明
13.7.1 挂起任务

在任务执行的过程中,有些时候系统需要等待某种条件而暂停,当某些条件满足后又恢复到运行状态,这时候就需要将任务挂起或解挂。FreeRTOS提供了vTaskSuspend()函数来挂起一个任务,vTaskResume()函数来恢复一个任务。

由图13.7可知,可以让任务从就绪态挂起,也可以让任务从运行态挂起。任务挂起函数vTaskSuspend()的输出参数为任务句柄。该函数的代码如下。

图示(https://www.daowen.com)

图示

任务挂起函数vTaskSuspend()的功能就是使要挂起的任务从就绪列表uxTopReadyPriority[]中脱离,然后把挂起任务的列表项从就绪列表中移出,并添加挂起任务的列表项到xSuspendedTaskList[]列表中,最后开启一次任务调度。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)