13.3.2 任务控制块

更新于 2026年10月10日 版权声明
13.3.2 任务控制块

任务控制块用来记录堆栈指针、任务的当前状态、任务的优先级等一些与任务运行管理有关的属性。FreeRTOS的任务控制块TCB_t的主要代码如下。

图示

主要语句功能如下。

①*pxTopOfStack:任务的堆栈栈顶,在任务切换中使用。

②xStateListItem:标记任务状态的列表项,有Ready(就绪)、Blocked(阻塞)、Suspended(挂起)3种状态。

③xEventListItem:事件列表项。(https://www.daowen.com)

④uxPriority:任务优先级,其数值范围为0~(configMAX_PRIORITIES-1),数值大小在文件“FreeRTOSConfig.h”中设置;FreeRTOS规定优先级数值越低表示任务的优先级越低,0的优先级最低,configMAX_PRIORITIES-1的优先级最高。空闲任务的优先级最低,为0。当宏configUSE_TIME_SLICING设置为1的时候,多个任务可以共用一个优先级,数量不限。

⑤*pxStack:任务堆栈起始地址。

⑥pcTaskName:任务名称。

例如,xTaskCreate(Task1_led,"Task1",64,NULL,1,NULL)创建任务后的任务控制块结构如图13.8所示。

图示

图13.8 任务控制块结构

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