4.1接着我们来看创建任务的基本步奏第一步:调用创建任务的API(Application Programming Interface的缩写)xTaskCreate()或者xTaskCreateStatic(),一种是动态创建另一种为静态创建(高级用法),动态创建是通过“堆内存来分布的”如果需要查看API函数的用法可以查看官网手册:https://www.freertos.org/media/2025/FreeRTOS_Reference_Manual_V8.2.1.pdf接着我们来看xTaskCreate()函数的用法返回值用来表示任务是否被创建成功如果返回的是pdPASS则表示任务创建成功如果是其它值则表示任务创建失败。参数1任务的函数名参数2自己给任务取得名字参数3调用任务栈的深度(一般填128为128*4个字节)参数4任务参数参数5:任务优先级在freertos数值越高优先级越高0-configMAX_PRIORITIES-1参数6:任务句柄创建好变量函数会将任务信息保存在任务句柄中4.2任务的状态freertos有2种执行任务的模式1:协作式调度调度器同样优先选择高优先级的任务执行来执行但只有当前任务主动让出控制权的时候才会发生切换。2:抢占式调度Preemptive Scheduling调度器总是选择更高优先级的任务来执行当高优先级的任务就绪的时候当前任务会立刻被抢占。文件工程根目录\FreeRTOS\Inc\FreeRTOSConfig.h/* 如果configUSE_PREEMPTION被设置为1则使用抢占式调度如果configUSE_PREEPTION被设置为0则使用协作式调度 */#defineconfigUSE_PREEMPTION 11为带时间片带时间片的抢占式调度和不带时间片的抢占式调度带时间片的抢占式调度:对于优先级相同的任务隔一段时间执行下一个任务时间片的长度为:两次SYSTICK溢出的时间间隔。// 用来设置SYSTICK中断的频率单位是赫兹#defineconfigTICK_RATE_HZ 100
b站铁头山羊freertos入门篇学习2
4.1接着我们来看创建任务的基本步奏第一步:调用创建任务的API(Application Programming Interface的缩写)xTaskCreate()或者xTaskCreateStatic(),一种是动态创建另一种为静态创建(高级用法),动态创建是通过“堆内存来分布的”如果需要查看API函数的用法可以查看官网手册:https://www.freertos.org/media/2025/FreeRTOS_Reference_Manual_V8.2.1.pdf接着我们来看xTaskCreate()函数的用法返回值用来表示任务是否被创建成功如果返回的是pdPASS则表示任务创建成功如果是其它值则表示任务创建失败。参数1任务的函数名参数2自己给任务取得名字参数3调用任务栈的深度(一般填128为128*4个字节)参数4任务参数参数5:任务优先级在freertos数值越高优先级越高0-configMAX_PRIORITIES-1参数6:任务句柄创建好变量函数会将任务信息保存在任务句柄中4.2任务的状态freertos有2种执行任务的模式1:协作式调度调度器同样优先选择高优先级的任务执行来执行但只有当前任务主动让出控制权的时候才会发生切换。2:抢占式调度Preemptive Scheduling调度器总是选择更高优先级的任务来执行当高优先级的任务就绪的时候当前任务会立刻被抢占。文件工程根目录\FreeRTOS\Inc\FreeRTOSConfig.h/* 如果configUSE_PREEMPTION被设置为1则使用抢占式调度如果configUSE_PREEPTION被设置为0则使用协作式调度 */#defineconfigUSE_PREEMPTION 11为带时间片带时间片的抢占式调度和不带时间片的抢占式调度带时间片的抢占式调度:对于优先级相同的任务隔一段时间执行下一个任务时间片的长度为:两次SYSTICK溢出的时间间隔。// 用来设置SYSTICK中断的频率单位是赫兹#defineconfigTICK_RATE_HZ 100