FreeRTOS最基本的功能就是任务管理,而任务管理最基本的操作是任务的创建与删除
xTaskCreate():使用动态方法创建
xTaskCreateStatic():静态方法创建
vTaskDelete(): 删除任务
- 动态创建
函数原型
xTaskCreate(TaskFunction_t pxTaskCode, //任务函数
const char * const pcName, //任务名字
const uint16_t usStackDepth,//任务堆栈大小
void * const pvParameters, //传递给任务函数的参数
UBaseType_t uxPriority, //任务优先级
TaskHandle_t * const pxCreatedTask )//任务句柄
开始创建任务
//创建开始任务
xTaskCreate((TaskFunction_t )start_task, //任务函数
(const char* )"start_task", //任务名称
(uint16_t )START_STK_SIZE, //任务堆栈大小
(void* )NULL, //传递给任务函数的参数
(UBaseType_t )START_TASK_PRIO,//任务优先级
(TaskHandle_t* )&StartTask_Handler); //任务句柄
vTaskStartScheduler(); //开启任务调度
在start_task()任务函数里面创建自己要执行的任务,然后开启任务调度vTaskStartScheduler(