删除任务-ri5cy_user_manual

时间:2024-06-23 11:42:22
【文件属性】:

文件名称:删除任务-ri5cy_user_manual

文件大小:3.05MB

文件格式:PDF

更新时间:2024-06-23 11:42:22

FreeRTOS 中文

1.9 删除任务 vTaskDelete() API 函数 任务可以使用 API 函数 vTaskDelete()删除自己或其它任务。 任务被删除后就不复存在,也不会再进入运行态。 空闲任务的责任是要将分配给已删除任务的内存释放掉。因此有一点很重要,那就 是使用 vTaskDelete() API 函数的任务千万不能把空闲任务的执行时间饿死。 需要说明一点,只有内核为任务分配的内存空间才会在任务被删除后自动回收。任 务自己占用的内存或资源需要由应用程序自己显式地释放。 void vTaskDelete( xTaskHandle pxTaskToDelete ); 程序清单 25 vTaskDelete() API 函数原型 表 6 vTaskDelete()参数 参数名 描述 pxTaskToDelete 被删除任务的句柄(目标任务) —— 参考 xTaskCreate() API函数的 参数 pxCreatedTask 以了解如何得到任务句柄方面的信息。 任务可以通过传入 NULL 值来删除自己。 例 9. 删除任务 这是一个非常简单的范例,其行为如下:  任务 1 则 main()创建在优先级 1 上。任务 1 运行时,以优先级 2 创建任务 2。现 在任务 2 具有 高优先级,所以会立即得到执行。main()函数的源代码参见程 序清单 26,任务 1 的实现代码参见程序清单 27。  任务 2 什么也没有做,只是删除自己。可以通过传递 NULL 值以 vTaskDelete() 来删除自己,但是为了纯粹的演示,传递的是任务自己的句柄。任务 2 的实现 源代码见程序清单 28。


网友评论