×
单片机 > 单片机程序设计 > 详情

学习笔记——FreeRTOS任务的创建(动态方法)

发布时间:2020-06-05 发布时间:
|

学习了任务的相关知识后,在MDK5中以STM32F407为开发板尝试任务的创建和删除。


任务创建有两种方式分别为动态创建和静态创建,分别通过调用vTaskcreat()和vTaskcreat_static()来创建。其区别是动态创建任务的堆栈由系统分配,而静态创建任务的堆栈由用户自己传递。


 

                                  动态创建任务的原型



其中各个参数:pxTaskCode                         任务函数(由用户自己编写的函数,一般为一个无限循环) 


                          pcName                               任务名(用于追踪和调试,最大长度不超过configMAX_TASK_NAME_LEN)


                          usStackDepth                      任务堆栈大小(注意⚠️:申请到的堆栈大小为参数的4倍,通过宏定义得到)


                          pvParameters                      传递给任务的参数(一般为NULL)


                          uxPriotiry                             任务优先级(最大和最小不可取,通过宏定义得到)


                          pxCreatedTask                    任务句柄(任务句柄,任务创建成功以后会返回此任务的任务句柄,这个句柄其实就是 任务的任务堆栈。此参数就用来保存这个任务句柄。其他 API 函数可能会使 用到这个句柄。)


                         


返回值:


pdPASS                       创建成功


errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY        任务创建失败,因为堆内存不足!



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析