FreeRTOS的任务创建和删除

发布时间:2026/10/19 7:21:50
FreeRTOS的任务创建和删除 一、任务创建和删除的API函数任务的创建和删除本质就是调用FreeRTOS的API函数主要如下API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务vTaskDelete()删除任务动态创建任务任务的任务控制块以及任务的栈空间所需的内存均由 FreeRTOS 从 FreeRTOS 管理的堆中分配。静态创建任务任务的任务控制块以及任务的栈空间所需的内存需用户分配提供1、动态创建任务函数1函数说明BaseType_txTaskCreate(TaskFunction_tpxTaskCode,/*指向任务函数的指针*/constchar*constpcName,/*任务名字最大长度configMAX_TASK_NAME_LEN */constconfigSTACK_DEPTH_TYPEusStackDepth,/*任务堆栈大小默认单位4字节*/void*constpvParameters,/*传递给任务函数的参数*/UBaseType_tuxPriority,/*任务优先级范围0 ~ configMAX_PRIORITIES - 1 */TaskHandle_t*constpxCreatedTask/*任务句柄就是任务的任务控制块*/)返回值说明如下pdPASS任务创建成功。errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY任务创建失败。2动态创建任务步骤将宏configSUPPORT_DYNAMIC_ALLOCATION 配置为 1。定义函数入口参数。编写任务函数。此函数创建的任务会立刻进入就绪态由任务调度器调度运行2、静态创建任务函数1函数说明TaskHandle_txTaskCreateStatic(TaskFunction_tpxTaskCode,/*指向任务函数的指针*/constchar*constpcName,/*任务函数名*/constuint32_tulStackDepth,/*任务堆栈大小,单位是4字节*/void*constpvParameters,/*传递的任务函数参数*/UBaseType_tuxPriority,/*任务优先级*/StackType_t*constpuxStackBuffer,/*任务堆栈一般为数组由用户分配*/StaticTask_t*constpxTaskBuffer/*任务控制块指针由用户分配*/)返回值如下NULL用户没有提供相应的内存任务创建失败。其他值任务句柄任务创建成功。2​​​​​​​静态创建任务步骤将宏configSUPPORT_STATIC_ALLOCATION 配置为 1。定义空闲任务定时器任务的任务堆栈及TCB。实现接口函数vApplicationGetIdleTaskMemory()、vApplicationGetTimerTaskMemory()如果开启软件定时器定义函数入口参数。编写任务函数。此函数创建的任务会立刻进入就绪态由任务调度器调度运行。3、任务删除函数​​​​​​​1函数说明voidvTaskDelete(TaskHandle_txTaskToDelete)参数说明xTaskToDelete待删除任务的任务句柄。当传入的参数为NULL则代表删除任务自身当前正在运行的任务。该函数用于删除已被创建的任务被删除的任务将从就绪态任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除。需要注意的是空闲任务会负责释放被删除任务中由系统分配的内存但是由用户在任务删除前申请的内存则需要由用户在任务被删除前提前释放否则将导致内存泄露。2删除任务流程使用删除任务函数需将宏INCLUDE_vTaskDelete 配置为 1入口参数输入需要删除的任务句柄NULL代表删除本身二、任务创建和删除实验动态方法动态创建堆栈是在FreeRTOS管理的堆内存里注意任务不要重复创建。例1任务start_task用来创建其他的三个任务。task1实现LED1每500ms闪烁一次。task2实现LED2每500ms闪烁一次。task3判断按键KEY1是否按下按下则删掉task1。2​​​​​​​FreeRTOSConfig.h代码清单#defineconfigSUPPORT_DYNAMIC_ALLOCATION3freertos_demo.c代码4freertos_demo.h代码5main.c中调用​​​​​​​

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询