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讲

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

四、课堂总结

相关推荐
BT-BOX10 小时前
第三章|新建STM32CubeMX工程生成keil工程和proteus联调仿真
stm32·嵌入式硬件·proteus
forAllforMe11 小时前
用STM32+LAN9252, 生成一个etherCAT 从机系统,实现数据采集功能
网络·stm32·嵌入式硬件
yezhailiaoke11 小时前
【CANoe测试系列】-程控电源控制
单片机·嵌入式硬件
-Springer-14 小时前
STM32 学习 —— 个人学习笔记9-2(USART串口数据包 & 串口收发 HEX 及 文本 数据包)
笔记·stm32·学习
白掰虾16 小时前
一分钟上手STM32CubeMX2——STM32C5点灯
stm32·单片机·嵌入式硬件·stm2cubemx2·stm32c5
YY_Share16 小时前
为什么笔记本电脑电源适配器基本是19V供电
嵌入式硬件·电路设计
宁静致远202117 小时前
Cadence Allegro 17.4的neck模式(瓶颈模式)走线
嵌入式硬件·硬件
逐步前行17 小时前
STM32_NVIC_中断控制
stm32·单片机·嵌入式硬件
Suifqwu18 小时前
stm32之移植MbedTLS以及算法实现
stm32·嵌入式硬件·算法