一、任务创建和删除的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 BlockTCB成员结构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讲这个就是上面的应用 初始任务删除自己 而自己处于运行态 不能立马释放自己内存 只能空闲任务执行删除 进行内存释放 但是有个问题 空闲任务什么时候到他执行三、任务创建和删除静态方法四、课堂总结
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 BlockTCB成员结构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讲这个就是上面的应用 初始任务删除自己 而自己处于运行态 不能立马释放自己内存 只能空闲任务执行删除 进行内存释放 但是有个问题 空闲任务什么时候到他执行三、任务创建和删除静态方法四、课堂总结