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讲

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

四、课堂总结

相关推荐
Dr.kangder29 分钟前
嵌入式处理器虚拟化仿真技术(九)——SimpleScalar原理与应用
嵌入式硬件·架构·嵌入式·虚拟化·仿真
芯片设计-曾工10 小时前
当精准脉冲遇上清晰视界——CH2205E模块与YL1621的“黄金搭档“
驱动开发·stm32·单片机·51单片机·硬件工程
LCG元15 小时前
STM32 硬件 SPI + DMA 驱动 OLED 显示屏(SSD1306):从原理到 112fps 高速刷新全流程
stm32·单片机·嵌入式硬件
天吾cc16 小时前
RTT-ADC
单片机·嵌入式硬件·学习
qq_4480111616 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机
210Brian17 小时前
STM32学习笔记(五)EXTI外部中断(上)
笔记·stm32·学习
崇山峻岭之间17 小时前
STM32F407的FOC驱动01
stm32·单片机·嵌入式硬件
Lzh编程小栈1 天前
【嵌入式硬核精讲】I2C通信协议万字详解(时序帧格式、同步半双工、重复起始、一对多挂载、寄存器、面试必考)
stm32·单片机·嵌入式硬件·面试
十月的皮皮1 天前
STM32从零到量产开发:四路继电器工业控制模块开发 -上位机 Program.cs 应用程序入口设计说明
c语言·stm32·单片机·stm32cubemx·hal库
LCG元1 天前
STM32F103+MPU6050互补滤波姿态解算与OLED实时显示实战(附完整工程代码)
stm32·单片机·嵌入式硬件