目录
一、FreeRTOS任务基本概念
二、动态创建任务
三、静态创建任务
四、静态创建任务和动态创建任务的区别
五、任务的删除
前言
本篇文章将介绍FreeRTOS任务的创建(动态方法和静态方法),了解什么是任务和任务的具体创建方法。
一、FreeRTOS任务基本概念
任务(Task):FreeRTOS 中的任务是程序执行的基本单位。任务以优先级的方式管理,高优先级的任务比低优先级的任务更容易被执行。每个任务都具有不同的堆栈和一组标志,用于控制任务的行为和与其他任务和内核进行通信。
二、动态创建任务
创建一个任务:
使用 xTaskCreate 函数是在 FreeRTOS 中创建任务的一种方法,函数原型如下:
BaseType_t xTaskCreate( TaskFunction_t pvTaskCode, const char * const pcName, const configSTACK_DEPTH_TYPE usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask );
使用示例如下
TaskHandle_t xHandleTask1;//任务句柄 TaskHandle_t xHandleTask2;//任务句柄 //任务执行函数 void Task1(void * param) { while (1) { printf("1"); } } //任务执行函数 void Task2(void * param) { while (1) { printf("2&#