STM32——FreeRTOS - 任务创建和删除*

一、任务创建和删除的API函数(已看271分钟)

1.1 API函数

API函数 描述
xTaskCreate() 动态方式创建任务
xTaskCreateStatic() 静态方式创建任务
VTaskDelete() 删除任务

1.1.1 特点

1.1.2 xTaskCreate 函数

1.1.2.1 函数形参

只需要指定 堆栈大小,有FreeRTOS自动分配。

1.1.2.2 动态方式创建任务流程:

外部:

内部:

TCB:任务控制块(Task Control Block)

TCB成员结构:

1.1.3 xTaskCreateStatic 函数

1.1.3.1 函数形参

堆栈大小由用户自动分配。

1.1.3.2 动态方式创建任务流程:

外部:

空闲任务必须,定时任务可选:

当使能了软件定时器,就需要创建定时器任务;没有就不需要。

内部:

1.1.4 vTaskDelete 函数

用于删除已被创建的任务。

被删除的任务将从就绪态 任务列表、阻塞态 任务列表、挂起态 任务列表和事件列表中移除。

注意:

1、当传入的参数为 NULL,则代表删除任务本身(当前正在运行的任务)

2、空闲任务会负责释放被删除任务中由系统分配的内存(针对动态),但是由用户在任务删除前申请的内存,则需要由用户在任务被删除前提前释放,否则将导致内存泄露(针对静态)。

这一点和 malloc & free、new & delete 内存分配删除原理一致。

1.1.4.1 删除任务流程:

外部调用:

内部实现:

二、任务创建和删除(动态方法)

第10讲,还有52讲

三、任务创建和删除(静态方法)

四、课堂总结

相关推荐
sramdram10 小时前
基于32位微控制器的FOC汽车水泵方案
单片机·嵌入式硬件·汽车·微控制器·32位微控制器
十月的皮皮12 小时前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
开发笔记-阿牛13 小时前
解析一款有意思的产品||CK6159A语音芯片设计的儿童专注力训练机-舒尔特玩具
stm32·单片机·嵌入式硬件·音频
残影飞雪14 小时前
ESP32-C5下载烧录固件失败报错的原因
单片机·嵌入式硬件
搞全栈小苏15 小时前
SIMetrix_simplis8.4安装教程——附安装包
stm32·单片机·嵌入式硬件·电力电子
qq_5739678216 小时前
STM32控制器
stm32·单片机·嵌入式硬件
某林21217 小时前
履带小车底盘stm32F103RCT6开发
人工智能·stm32·单片机·嵌入式硬件·架构·人机交互·ros2
sramdram17 小时前
低功耗MCU微控制器在动态血糖仪(CGM)中的应用方案
单片机·嵌入式硬件·mcu·mcu微控制器
Dlrb121118 小时前
ARM--IMX6ULL的SDK学习,BSP开发工程管理,以及链接脚本与Makefile的编写
单片机·嵌入式硬件·arm·sdk·链接脚本·i.mx6ull·cortex-a7
李永奉18 小时前
杰理可视化SDK开发-配置ANC主动降噪功能模块教程
单片机·嵌入式硬件·物联网