FreeRTOS 删除任务

本文介绍了如何使用任务句柄来创建和删除任务。在main函数中创建了一个名为start_task的任务,并保存了其句柄StartTask_Handler。之后在start_task任务内部,通过这个句柄删除了自身。此外,也提到了直接传入NULL可以删除当前任务。

1. 函数原型 void vTaskDelete(TaskHandle_t xTaskToDelete)

1.1 参数1:任务句柄,创建任务的时候那个句柄

1.2 返回值:无

2. 创建任务,任务句柄StartTask_Handler

int main(void)
{
    xTaskCreate((TaskFunction_t)start_task, // task
                (const char*)"start_task", // task name
                (uint16_t)START_STK_SIZE, // task stack size
                (void *)NULL, // parameter of function
                (UBaseType_t)START_TASK_PRIO, // task priority
                (TaskHandle_t *)&StartTask_Handler); // task handle
    vTaskStartScheduler();
}

3. 在创建的任务里面,又利用任务句柄删除任务

void start_task(void *pvParameters)
{
    vTaskDelete(StartTask_Handler);
}

4. 删除任务自己就传一个NULL

void start_task(void *pvParameters)
{
    vTaskDelete(NULL);
}

5. 先创建任务,有一个任务句柄

在这里插入图片描述

6. 然后利用任务句柄,又删除任务,只要知道任务的句柄,就可以删掉它

在这里插入图片描述

7. 删除自己,传NULL

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值